[pango] [OT] Make sure we own face generic data before using it



commit 7a1539df497997a4d97b9d27cfb082454e4ab694
Author: Behdad Esfahbod <behdad behdad org>
Date:   Thu Aug 6 10:37:02 2009 -0400

    [OT] Make sure we own face generic data before using it

 pango/pango-ot-info.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/pango/pango-ot-info.c b/pango/pango-ot-info.c
index 1eaa67f..2dfe521 100644
--- a/pango/pango-ot-info.c
+++ b/pango/pango-ot-info.c
@@ -106,10 +106,13 @@ pango_ot_info_get (FT_Face face)
 {
   PangoOTInfo *info;
 
-  if (face->generic.data)
+  if (G_LIKELY (face->generic.data && face->generic.finalizer == pango_ot_info_finalizer))
     return face->generic.data;
   else
     {
+      if (face->generic.finalizer)
+        face->generic.finalizer (face->generic.data);
+
       info = face->generic.data = g_object_new (PANGO_TYPE_OT_INFO, NULL);
       face->generic.finalizer = pango_ot_info_finalizer;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]