Bug 1090869 - Don't collect output glyphs when checking for features involving <space>. r=jdaggett, a=lsblakk
authorJonathan Kew <jkew@mozilla.com>
Thu, 30 Oct 2014 09:54:22 +0000
changeset 225885 17d3079dc41f
parent 225884 ac59c74b9386
child 225886 12a8a2d96453
push id4055
push userryanvm@gmail.com
push date2014-10-31 01:17 +0000
treeherdermozilla-beta@12a8a2d96453 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjdaggett, lsblakk
bugs1090869
milestone34.0
Bug 1090869 - Don't collect output glyphs when checking for features involving <space>. r=jdaggett, a=lsblakk
gfx/thebes/gfxFont.cpp
--- a/gfx/thebes/gfxFont.cpp
+++ b/gfx/thebes/gfxFont.cpp
@@ -2488,33 +2488,33 @@ HasLookupRuleWithGlyphByScript(hb_face_t
 
     // look for the glyph among default feature lookups
     aHasDefaultFeatureWithGlyph = false;
     hb_set_t *glyphs = hb_set_create();
     hb_codepoint_t index = -1;
     while (hb_set_next(defaultFeatureLookups, &index)) {
         hb_ot_layout_lookup_collect_glyphs(aFace, aTableTag, index,
                                            glyphs, glyphs, glyphs,
-                                           glyphs);
+                                           nullptr);
         if (hb_set_has(glyphs, aGlyph)) {
             aHasDefaultFeatureWithGlyph = true;
             break;
         }
     }
 
     // look for the glyph among non-default feature lookups
     // if no default feature lookups contained spaces
     bool hasNonDefaultFeatureWithGlyph = false;
     if (!aHasDefaultFeatureWithGlyph) {
         hb_set_clear(glyphs);
         index = -1;
         while (hb_set_next(nonDefaultFeatureLookups, &index)) {
             hb_ot_layout_lookup_collect_glyphs(aFace, aTableTag, index,
                                                glyphs, glyphs, glyphs,
-                                               glyphs);
+                                               nullptr);
             if (hb_set_has(glyphs, aGlyph)) {
                 hasNonDefaultFeatureWithGlyph = true;
                 break;
             }
         }
     }
 
     hb_set_destroy(glyphs);
@@ -2558,30 +2558,30 @@ HasLookupRuleWithGlyph(hb_face_t *aFace,
     }
 
     // look for the glyph among non-specific feature lookups
     hb_set_t *glyphs = hb_set_create();
     hb_codepoint_t index = -1;
     while (hb_set_next(otherLookups, &index)) {
         hb_ot_layout_lookup_collect_glyphs(aFace, aTableTag, index,
                                            glyphs, glyphs, glyphs,
-                                           glyphs);
+                                           nullptr);
         if (hb_set_has(glyphs, aGlyph)) {
             aHasGlyph = true;
             break;
         }
     }
 
     // look for the glyph among specific feature lookups
     hb_set_clear(glyphs);
     index = -1;
     while (hb_set_next(specificFeatureLookups, &index)) {
         hb_ot_layout_lookup_collect_glyphs(aFace, aTableTag, index,
                                            glyphs, glyphs, glyphs,
-                                           glyphs);
+                                           nullptr);
         if (hb_set_has(glyphs, aGlyph)) {
             aHasGlyphSpecific = true;
             break;
         }
     }
 
     hb_set_destroy(glyphs);
     hb_set_destroy(specificFeatureLookups);