bug 553963 - part 3 - don't reset glyph runs when falling back from uniscribe to GDI text shaping. r=jdaggett
☠☠ backed out by f05cca7eaa5d ☠ ☠
authorJonathan Kew <jfkthame@gmail.com>
Wed, 11 Aug 2010 17:52:26 +0100
changeset 49396 153bd6dc88be351f0e312a5e9fd3acd66be92525
parent 49395 444328d96da20752f4532c1dfa45a054d9036051
child 49542 77cd3fbaf9730c757479f4119c6e45d6161dc804
child 49547 f05cca7eaa5d01901f2e844f607bbdce87f380d3
push id15006
push userjkew@mozilla.com
push dateWed, 11 Aug 2010 17:12:05 +0000
treeherdermozilla-central@153bd6dc88be [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjdaggett
bugs553963
milestone2.0b4pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 553963 - part 3 - don't reset glyph runs when falling back from uniscribe to GDI text shaping. r=jdaggett
gfx/thebes/gfxUniscribeShaper.cpp
--- a/gfx/thebes/gfxUniscribeShaper.cpp
+++ b/gfx/thebes/gfxUniscribeShaper.cpp
@@ -628,20 +628,19 @@ gfxUniscribeShaper::InitTextRun(gfxConte
             if (FAILED(rv)) {
                 // crap fonts may fail when placing (e.g. funky free fonts)
                 NS_WARNING("Uniscribe failed to place with font");
             }
 #endif
         }
 
         if (FAILED(rv)) {
-            aTextRun->ResetGlyphRuns();
             // Uniscribe doesn't like this font for some reason.
-            // Returning FALSE will make the gfxGDIFont discard this
-            // shaper and replace it with a "dumb" GDI one.
+            // Returning FALSE will make the gfxGDIFont retry with the
+            // "dumb" GDI one, unless useUniscribeOnly was set.
             result = PR_FALSE;
             break;
         }
 
         item.SaveGlyphs(aTextRun, aRunStart);
     }
 
     RestoreDC(aDC, -1);