Closed Bug 88509 Opened 24 years ago Closed 24 years ago

accessible/src/nsHTMLSelectAccessible.cpp fails to build with --disable-bidi

Categories

(Core :: Layout: Text and Fonts, defect)

x86
All
defect
Not set
blocker

Tracking

()

RESOLVED FIXED

People

(Reporter: timecop, Assigned: mozilla)

References

Details

(Keywords: access)

Attachments

(3 files)

Tt uses one of HTML layout atoms which is only defined when IBMBIDI is enabled. This causes a build failure. Patch follows.
Two things here: 1. Is accessible dependendant on this function to work? If so, it should not be IBMBIDI in layout. 2. Why are you building with --disable-bidi? The intent was that once BIDI was turned on, it would never be turned off. We have even talked about starting to remove the #ifdefs.
I cannot answer 1) since I did not write that code, and made a "educated guess" as far as that function needing to be wrapped in #ifdef IBMBIDI because the atom it was using was also in IBMBIDI and to answer 2), no reason really, just a default build line carried over from a few months ago. I don't have any arabic/hebrew fonts anyway, I am not sure having it enabled would allow me any extra features...
I think the correct solution here is to move the listControlFrame atom out of |#ifdef IBMBIDI| and do the same for nsListControlFrame::GetFrameType.
I agree with dbaron, and since it was my regression I will take care of that. I think this actually points to a bigger issue of why all the layout frames don't have atoms defined for them. But that is a discussion for the layout folks, and not really appropriate for this bug. feel free to re-assign to me.
.
Assignee: mkaply → jgaunt
Keywords: approval, patch, review
*** Bug 88762 has been marked as a duplicate of this bug. ***
looking for r/sr cc'ing attinasi
Status: NEW → ASSIGNED
um, John... that patch lands me with: c++ -o nsListControlFrame.o -c -DOSTYPE=\"Linux2.4\" -DOSARCH=\"Linux\" -DOJI -D_IMPL_NS_HTML -DENDER_LITE -I../../../../dist/include -I../../../../dist/include -I/usr/src/moz/mozilla/dist/include/nspr -I./../../../base/src -I./../../base/src -I./../../style/src -I./../../../xul/base/src -I/usr/X11R6/include -fPIC -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -pedantic -Wno-long-long -pipe -fshort-wchar -pthread -O3 -DNDEBUG -DTRIMMED -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../../../config-defs.h -Wp,-MD,.deps/nsListControlFrame.pp nsListControlFrame.cpp nsListControlFrame.cpp: In method `nsresult nsListControlFrame::Paint (nsIPresContext *, nsIRenderingContext &, const nsRect &, nsFramePaintLayer)': nsListControlFrame.cpp:454: warning: unused variable `nsIStyleContext *sc' nsListControlFrame.cpp: In method `void nsListControlFrame::MultipleSelection (int, int)': nsListControlFrame.cpp:1455: warning: `PRInt32 i' might be used uninitialized in this function nsListControlFrame.cpp: In method `void nsListControlFrame::SetContentSelected (int, nsIContent *, int, int, nsIPresShell *)': nsListControlFrame.cpp:2028: warning: unused variable `PRBool isSelected' nsListControlFrame.cpp: In method `nsresult nsListControlFrame::UpdateSelection (int, int, nsIContent *)': nsListControlFrame.cpp:2803: warning: unused variable `PRBool changed' nsListControlFrame.cpp: At top level: nsListControlFrame.cpp:3207: no `nsresult nsListControlFrame::GetFrameType (nsIAtom **) const' member function declared in class `nsListControlFrame' nsListControlFrame.cpp: In method `void nsListControlFrame::GetScrollableView (nsIScrollableView *&)': nsListControlFrame.cpp:3483: warning: unused variable `nsresult rv' ../../../../dist/include/nsBufferHandle.h: At top level: nsListControlFrame.cpp:1948: warning: `int cnt' defined but not used gmake[5]: *** [nsListControlFrame.o] Error 1 anyway, as mkaply points out, a better solution would appear to be removing the now outdated --disable-bidi from .mozconfig, which is where I'm headed now....
Whoops, forgot to look into the .h, the declaration was wrapped in #ifdef's as well. posted a diff, although I'm suspicous of it because I have weird thing going on in my tree right now. Re-pulling to fix things. Chris: I would suggest you file a new bug as "Remove -disable-bidi". Where you pull all the ifdef's in addition to disabling the option. In the context of this bug, currently, its kinda like swatting a fly with a buick.
Whiteboard: PDT+, needs r=/sr=
Keywords: access
Whiteboard: PDT+, needs r=/sr= → PDT+, needs sr=
sr=sfraser
Blocks: 86517
John, as much as I like taking out Mosquitos with a tactical nuke... see bug 89203 for removal of --disable-bidi; all 105 files of it so far.
Whiteboard: PDT+, needs sr= → PDT+
It appears this bug has the r and the sr. Can this be checked in? Thanks. I'll update the status whiteboard with this status for a quick summary.
Whiteboard: PDT+ → [PDT+] Have R and SR
This has been checked into the 0.9.2 branch wed 4 july. needs to go into trunk. Will get that in ASAP.
Keywords: approval, review
Whiteboard: [PDT+] Have R and SR → landed on branch, needs to go in trunk
Checked into the trunk 7/10
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Whiteboard: landed on branch, needs to go in trunk
Blocks: 95819
Component: Layout: BiDi Hebrew & Arabic → Layout: Text
QA Contact: giladehven → layout.fonts-and-text
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: