|
|
Hotfix needed for new binutils (bug is in gcc) (see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625)
--- ./content/html/style/src/nsROCSSPrimitiveValue.h.orig 2004-08-13 11:50:44.000000000 +0200
+++ ./content/html/style/src/nsROCSSPrimitiveValue.h 2004-08-13 11:57:20.000000000 +0200
@@ -191,27 +191,37 @@
void Reset(void) { - switch (mType) {
- case CSS_IDENT:
+ // --- see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625 ---
+ //
+ // we can't make a switch statement here because the compiler will create a
+ // jump-table in .ro_data for it and cause a link error such as:
+ //
+ // # .L1035' referenced in section `.rodata' of
+ // # ../../dist/lib/libgkconhtmlstyle_s.a(nsROCSSPrimitiveValue.o): defined in
+ // # discarded section `.gnu.linkonce.t._ZN21nsROCSSPrimitiveValue5ResetEv' of
+ // # ../../dist/lib/libgkconhtmlstyle_s.a(nsROCSSPrimitiveValue.o)
+ //
+ // - clifford (2004-08-13)
+ //
+ if (mType == CSS_IDENT) {
NS_ASSERTION(mValue.mAtom, "Null atom should never happen"); NS_RELEASE(mValue.mAtom); - break;
- case CSS_STRING:
+ }
+ if (mType == CSS_STRING) {
NS_ASSERTION(mValue.mString, "Null string should never happen"); nsMemory::Free(mValue.mString); mValue.mString = nsnull; - break;
- case CSS_URI:
+ }
+ if (mType == CSS_URI) {
NS_IF_RELEASE(mValue.mURI); - break;
- case CSS_RECT:
+ }
+ if (mType == CSS_RECT) {
NS_ASSERTION(mValue.mRect, "Null Rect should never happen"); NS_RELEASE(mValue.mRect); - break;
- case CSS_RGBCOLOR:
+ }
+ if (mType == CSS_RGBCOLOR) {
NS_ASSERTION(mValue.mColor, "Null RGBColor should never happen"); NS_RELEASE(mValue.mColor); - break;
} }
|