diff options
Diffstat (limited to 'chromium/third_party/harfbuzz-ng/src/hb-shape-plan.cc')
-rw-r--r-- | chromium/third_party/harfbuzz-ng/src/hb-shape-plan.cc | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/chromium/third_party/harfbuzz-ng/src/hb-shape-plan.cc b/chromium/third_party/harfbuzz-ng/src/hb-shape-plan.cc index b44a9e2ab77..13544056d72 100644 --- a/chromium/third_party/harfbuzz-ng/src/hb-shape-plan.cc +++ b/chromium/third_party/harfbuzz-ng/src/hb-shape-plan.cc @@ -46,7 +46,7 @@ hb_shape_plan_plan (hb_shape_plan_t *shape_plan, #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_shape_plan_create (hb_face_t *face, 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 @@ hb_shape_plan_destroy (hb_shape_plan_t *shape_plan) #include "hb-shaper-list.hh" #undef HB_SHAPER_IMPLEMENT - hb_face_destroy (shape_plan->face); - free (shape_plan); } @@ -264,7 +262,7 @@ hb_shape_plan_execute (hb_shape_plan_t *shape_plan, 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 @@ retry: goto retry; } - /* Release our reference on face. */ - hb_face_destroy (face); - return hb_shape_plan_reference (shape_plan); } |