Fixup previous commit
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 21 Feb 2013 20:37:51 +0000 (15:37 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 21 Feb 2013 20:37:51 +0000 (15:37 -0500)
Was not decreasing num_items.  Ouch!

src/hb-ot-layout-gsubgpos-private.hh

index 5f5000b..23fbdf4 100644 (file)
@@ -420,7 +420,9 @@ struct hb_apply_context_t
          continue;
 
        matcher_t::may_match_t match = matcher.may_match (info, match_glyph_data);
-       if (unlikely (match == matcher_t::MATCH_YES))
+       if (match == matcher_t::MATCH_YES ||
+           (match == matcher_t::MATCH_MAYBE &&
+            skip == matcher_t::SKIP_NO))
        {
          num_items--;
          match_glyph_data++;
@@ -428,7 +430,7 @@ struct hb_apply_context_t
        }
 
        if (skip == matcher_t::SKIP_NO)
-         return match == matcher_t::MATCH_MAYBE ? true : false;
+         return false;
       }
       return false;
     }
@@ -493,7 +495,9 @@ struct hb_apply_context_t
          continue;
 
        matcher_t::may_match_t match = matcher.may_match (info, match_glyph_data);
-       if (unlikely (match == matcher_t::MATCH_YES))
+       if (match == matcher_t::MATCH_YES ||
+           (match == matcher_t::MATCH_MAYBE &&
+            skip == matcher_t::SKIP_NO))
        {
          num_items--;
          match_glyph_data++;
@@ -501,7 +505,7 @@ struct hb_apply_context_t
        }
 
        if (skip == matcher_t::SKIP_NO)
-         return match == matcher_t::MATCH_MAYBE ? true : false;
+         return false;
       }
       return false;
     }