Index: third_party/harfbuzz-ng/src/hb-shape-plan.cc |
=================================================================== |
--- third_party/harfbuzz-ng/src/hb-shape-plan.cc (revision 258046) |
+++ third_party/harfbuzz-ng/src/hb-shape-plan.cc (working copy) |
@@ -46,7 +46,7 @@ |
#define HB_SHAPER_PLAN(shaper) \ |
HB_STMT_START { \ |
- if (hb_##shaper##_shaper_face_data_ensure (shape_plan->face)) { \ |
+ if (hb_##shaper##_shaper_face_data_ensure (shape_plan->face_unsafe)) { \ |
HB_SHAPER_DATA (shaper, shape_plan) = \ |
HB_SHAPER_DATA_CREATE_FUNC (shaper, shape_plan) (shape_plan, user_features, num_user_features); \ |
shape_plan->shaper_func = _hb_##shaper##_shape; \ |
@@ -117,7 +117,7 @@ |
hb_face_make_immutable (face); |
shape_plan->default_shaper_list = shaper_list == NULL; |
- shape_plan->face = hb_face_reference (face); |
+ shape_plan->face_unsafe = face; |
shape_plan->props = *props; |
hb_shape_plan_plan (shape_plan, user_features, num_user_features, shaper_list); |
@@ -190,8 +190,6 @@ |
#include "hb-shaper-list.hh" |
#undef HB_SHAPER_IMPLEMENT |
- hb_face_destroy (shape_plan->face); |
- |
free (shape_plan); |
} |
@@ -264,7 +262,7 @@ |
hb_object_is_inert (buffer))) |
return false; |
- assert (shape_plan->face == font->face); |
+ assert (shape_plan->face_unsafe == font->face); |
assert (hb_segment_properties_equal (&shape_plan->props, &buffer->props)); |
#define HB_SHAPER_EXECUTE(shaper) \ |
@@ -395,9 +393,6 @@ |
goto retry; |
} |
- /* Release our reference on face. */ |
- hb_face_destroy (face); |
- |
return hb_shape_plan_reference (shape_plan); |
} |