Reviewed by Stephanie Lewis.
authormitz <mitz@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 Oct 2007 02:47:25 +0000 (02:47 +0000)
committermitz <mitz@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 Oct 2007 02:47:25 +0000 (02:47 +0000)
        - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)

        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::platformInit): Handle the case where the font has no
        glyphs on page zero.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/platform/win/FontDataWin.cpp

index 511a48db452dace8b5a359a00661c67a15e38bfb..e26c91df32db4fcfb25c6f202bbfda68a33963a6 100644 (file)
@@ -1,3 +1,13 @@
+2007-10-30  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Stephanie Lewis.
+
+        - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
+
+        * platform/win/FontDataWin.cpp:
+        (WebCore::FontData::platformInit): Handle the case where the font has no
+        glyphs on page zero.
+
 2007-10-30  David Hyatt  <hyatt@apple.com>
 
         Make sure CSS transforms can be animated using the CSS transition property.
index 19539d9e72e0310e59a367f6f79cb108771561ce..93092feb7e9e17ca45ebf5a2f92a6b72e9216567 100644 (file)
@@ -90,7 +90,8 @@ void FontData::platformInit()
 
     // Measure the actual character "x", because AppKit synthesizes X height rather than getting it from the font.
     // Unfortunately, NSFont will round this for us so we don't quite get the right value.
-    Glyph xGlyph = GlyphPageTreeNode::getRootChild(this, 0)->page()->glyphDataForCharacter('x').glyph;
+    GlyphPage* glyphPageZero = GlyphPageTreeNode::getRootChild(this, 0)->page();
+    Glyph xGlyph = glyphPageZero ? glyphPageZero->glyphDataForCharacter('x').glyph : 0;
     if (xGlyph) {
         CGRect xBox;
         CGFontGetGlyphBBoxes(font, &xGlyph, 1, &xBox);