[object] Make object inert during destruction
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 12 May 2011 05:19:39 +0000 (01:19 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 12 May 2011 05:19:39 +0000 (01:19 -0400)
Such that user_data and other finalizers cannot resurrect object

src/hb-object-private.hh

index 08f4bb1..90f227c 100644 (file)
@@ -170,6 +170,8 @@ struct _hb_object_header_t {
     if (ref_count.dec () != 1)
       return false;
 
+    ref_count.init (HB_REFERENCE_COUNT_INVALID_VALUE);
+
     user_data.finish ();
 
     return true;