Add assertions for a couple programmer errors
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 15 Feb 2013 12:46:57 +0000 (07:46 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 15 Feb 2013 12:46:57 +0000 (07:46 -0500)
src/hb-shape-plan.cc

index 22a226f..a6d2d26 100644 (file)
@@ -27,6 +27,7 @@
 #include "hb-shape-plan-private.hh"
 #include "hb-shaper-private.hh"
 #include "hb-font-private.hh"
+#include "hb-buffer-private.hh"
 
 #define HB_SHAPER_IMPLEMENT(shaper) \
        HB_SHAPER_DATA_ENSURE_DECLARE(shaper, face) \
@@ -178,9 +179,14 @@ hb_shape_plan_execute (hb_shape_plan_t    *shape_plan,
                       const hb_feature_t *features,
                       unsigned int        num_features)
 {
-  if (unlikely (shape_plan->face != font->face))
+  if (unlikely (hb_object_is_inert (shape_plan) ||
+               hb_object_is_inert (font) ||
+               hb_object_is_inert (buffer)))
     return false;
 
+  assert (shape_plan->face == font->face);
+  assert (hb_segment_properties_equal (&shape_plan->props, &buffer->props));
+
 #define HB_SHAPER_EXECUTE(shaper) \
        HB_STMT_START { \
          return HB_SHAPER_DATA (shaper, shape_plan) && \