From 3648bdf5b221adfe01ad99714de420b49964921e Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 5 Nov 2009 20:17:53 -0500 Subject: [PATCH] Fix FT_Face generic finalizer --- src/hb-ft.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/hb-ft.c b/src/hb-ft.c index bf05f4d..83eb2db 100644 --- a/src/hb-ft.c +++ b/src/hb-ft.c @@ -179,17 +179,23 @@ hb_ft_face_create (FT_Face ft_face, return face; } +static void +hb_ft_face_finalize (FT_Face ft_face) +{ + hb_face_destroy (ft_face->generic.data); +} + hb_face_t * hb_ft_face_create_cached (FT_Face ft_face) { /* TODO: Not thread-safe */ - if (HB_UNLIKELY (!ft_face->generic.data || ft_face->generic.finalizer != (FT_Generic_Finalizer) hb_face_destroy)) + if (HB_UNLIKELY (!ft_face->generic.data || ft_face->generic.finalizer != (FT_Generic_Finalizer) hb_ft_face_finalize)) { if (ft_face->generic.finalizer) ft_face->generic.finalizer (ft_face->generic.data); ft_face->generic.data = hb_ft_face_create (ft_face, NULL); - ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_face_destroy; + ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize; } return hb_face_reference (ft_face->generic.data); -- 2.7.4