Closed Bug 482379 Opened 13 years ago Closed 13 years ago

Build failure in nsLayoutUtils.cpp, when building with "--disable-svg", due to nsGkAtoms::svgGlyphFrame usage

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dholbert, Unassigned)

References

Details

(Keywords: fixed1.9.1, regression, Whiteboard: regression from 425265)

Attachments

(1 file, 1 obsolete file)

Attached patch fix (obsolete) — Splinter Review
Right now, we fail when building with --disable-svg, due to a non-#ifdef'd usage of nsGkAtoms::svgGlyphFrame inside of nsLayoutUtils.cpp.

Attaching a patch to add "#ifdef MOZ_SVG" to fix this.
Attachment #366469 - Flags: superreview?(roc)
Attachment #366469 - Flags: review?(roc)
Attachment #366469 - Flags: superreview?(roc)
Attachment #366469 - Flags: superreview+
Attachment #366469 - Flags: review?(roc)
Attachment #366469 - Flags: review+
Pushed: http://hg.mozilla.org/mozilla-central/rev/37756ccaa268
Status: NEW → RESOLVED
Closed: 13 years ago
OS: Linux → All
Hardware: x86 → All
Resolution: --- → FIXED
This caused bustage on Windows:
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1236653653.1236655774.7389.gz#err0
e:/builds/moz2_slave/mozilla-central-win32-debug/build/layout/base/nsLayoutUtils.cpp(3196) : error C2121: '#' : invalid character : possibly the result of a macro expansion
e:/builds/moz2_slave/mozilla-central-win32-debug/build/layout/base/nsLayoutUtils.cpp(3196) : error C2146: syntax error : missing ')' before identifier 'ifdef'
e:/builds/moz2_slave/mozilla-central-win32-debug/build/layout/base/nsLayoutUtils.cpp(3196) : error C2121: '#' : invalid character : possibly the result of a macro expansion
e:/builds/moz2_slave/mozilla-central-win32-debug/build/layout/base/nsLayoutUtils.cpp(3196) : error C2059: syntax error : ')'
e:/builds/moz2_slave/mozilla-central-win32-debug/build/layout/base/nsLayoutUtils.cpp(3196) : error C2143: syntax error : missing ';' before '{'
make[5]: Leaving directory `/e/builds/moz2_slave/mozilla-central-win32-debug/build/obj-firefox/layout/base'
make[5]: *** [nsLayoutUtils.obj] Error 2

So, backed out as http://hg.mozilla.org/mozilla-central/rev/4c23e141f2d8
This patch just uses two separate NS_PRECONDITION statements, so that we don't have a #ifdef inside the precondition. (which is what caused the problem before, I think)

I'm rebuilding right now to sanity-check, and then I'll request review.
Attachment #366469 - Attachment is obsolete: true
Comment on attachment 366487 [details] [diff] [review]
patch v2: use two separate NS_PRECONDITION statements

Yeah, this compiles successfully (at least on Linux), both with SVG enabled & with SVG disabled.

(Previous patch compiled on Linux, too, but I guess it wasn't supposed to - bz says in IRC that maybe it happened to succeed due to a GCC extension.)

Requesting r+sr for relanding.
Attachment #366487 - Flags: superreview?(roc)
Attachment #366487 - Flags: review?(roc)
Attachment #366487 - Flags: superreview?(roc)
Attachment #366487 - Flags: superreview+
Attachment #366487 - Flags: review?(roc)
Attachment #366487 - Flags: review+
Keywords: fixed1.9.1
Was this a regression from bug 425265? That's one possible meaning of"blocking" it, but it's not explicit.
Flags: blocking1.9.0.12?
Keywords: regression
Whiteboard: regression from 425265?
Yes, it was.  It's a build failure in new code ("nsLayoutUtils::InitTextRunContainerForPrinting") added in that bug's patch.
Whiteboard: regression from 425265? → regression from 425265
Flags: blocking1.9.0.12?
You need to log in before you can comment on or make changes to this bug.