Fri Oct 27 05:35:14 2000 Tim Janik <timj@gtk.org>
+ * gobject.c (g_object_watch_closure): fixed realloc bug, reported
+ by havoc.
+
* gsignal.c (g_signal_newv): fixed deadlock scenarion where
g_signal_lookup() would be called with the signal lock being
held. reported by james henstridge.
g_closure_add_marshal_guards (closure,
object, (GClosureNotify) g_object_ref,
object, (GClosureNotify) g_object_unref);
- carray = g_object_get_qdata (object, quark_closure_array);
+ carray = g_object_steal_qdata (object, quark_closure_array);
if (!carray)
{
carray = g_renew (CArray, NULL, 1);
carray = g_realloc (carray, sizeof (*carray) + sizeof (carray->closures[0]) * i);
carray->closures[i] = closure;
+ g_object_set_qdata_full (object, quark_closure_array, carray, destroy_closure_array);
}
}