diff --git a/mozilla/gfx/thebes/public/gfxWindowsFonts.h b/mozilla/gfx/thebes/public/gfxWindowsFonts.h index 9f75f1c2ecc..13f7a284770 100644 --- a/mozilla/gfx/thebes/public/gfxWindowsFonts.h +++ b/mozilla/gfx/thebes/public/gfxWindowsFonts.h @@ -77,6 +77,7 @@ private: public: nsTArray > mVariations; nsString mName; + PRPackedBool mIsBadUnderlineFont; private: PRBool mHasStyles; diff --git a/mozilla/gfx/thebes/src/gfxWindowsFonts.cpp b/mozilla/gfx/thebes/src/gfxWindowsFonts.cpp index bcd8f471c51..d2724b34611 100644 --- a/mozilla/gfx/thebes/src/gfxWindowsFonts.cpp +++ b/mozilla/gfx/thebes/src/gfxWindowsFonts.cpp @@ -203,6 +203,8 @@ FontFamily::FamilyAddStylesProc(const ENUMLOGFONTEXW *lpelfe, } } + fe->mIsBadUnderlineFont = ff->mIsBadUnderlineFont; + // read in the character map logFont.lfCharSet = DEFAULT_CHARSET; HFONT font = CreateFontIndirectW(&logFont); diff --git a/mozilla/gfx/thebes/src/gfxWindowsPlatform.cpp b/mozilla/gfx/thebes/src/gfxWindowsPlatform.cpp index 552579f38cd..52874b1b721 100644 --- a/mozilla/gfx/thebes/src/gfxWindowsPlatform.cpp +++ b/mozilla/gfx/thebes/src/gfxWindowsPlatform.cpp @@ -285,10 +285,7 @@ gfxWindowsPlatform::InitBadUnderlineList() FontFamily *ff = FindFontFamily(resolved); if (!ff) continue; - for (PRUint32 j = 0; j < ff->mVariations.Length(); ++j) { - nsRefPtr fe = ff->mVariations[j]; - fe->mIsBadUnderlineFont = 1; - } + ff->mIsBadUnderlineFont = 1; } }