Use constructor/destructor for hb_ot_shape_plan_t
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 12 May 2011 02:18:31 +0000 (22:18 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 12 May 2011 02:18:31 +0000 (22:18 -0400)
src/hb-ot-shape-private.hh
src/hb-ot-shape.cc

index b95815a..4ea73f5 100644 (file)
@@ -52,7 +52,11 @@ struct hb_ot_shape_plan_t
   hb_ot_map_t map;
   hb_ot_complex_shaper_t shaper;
 
-  inline void finish (void) { map.finish (); }
+  hb_ot_shape_plan_t (void) : map () {}
+  ~hb_ot_shape_plan_t (void) { map.finish (); }
+
+  private:
+  NO_COPY (hb_ot_shape_plan_t);
 };
 
 
index aa5b920..71eae42 100644 (file)
@@ -377,12 +377,10 @@ hb_ot_shape (hb_font_t          *font,
             const hb_feature_t *features,
             unsigned int        num_features)
 {
-  hb_ot_shape_plan_t plan = hb_ot_shape_plan_t ();
+  hb_ot_shape_plan_t plan;
 
   hb_ot_shape_plan_internal (&plan, font->face, &buffer->props, features, num_features);
   hb_ot_shape_execute (&plan, font, buffer, features, num_features);
-
-  plan.finish ();
 }