mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-12 07:26:15 +01:00
gobject: Trace unref just after this happened
Trace the unref before potentially calling (user) code that may re-ref or unref again, causing the tracing order to be messed up.
This commit is contained in:
parent
0918ce013a
commit
6cd6cc41bb
@ -3885,11 +3885,11 @@ g_object_unref (gpointer _object)
|
|||||||
&old_ref))
|
&old_ref))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
TRACE (GOBJECT_OBJECT_UNREF (object, G_TYPE_FROM_INSTANCE (object), old_ref));
|
||||||
|
|
||||||
/* emit all notifications that have been queued during dispose() */
|
/* emit all notifications that have been queued during dispose() */
|
||||||
g_object_notify_queue_thaw (object, nqueue);
|
g_object_notify_queue_thaw (object, nqueue);
|
||||||
|
|
||||||
TRACE (GOBJECT_OBJECT_UNREF(object,G_TYPE_FROM_INSTANCE(object),old_ref));
|
|
||||||
|
|
||||||
/* if we went from 2->1 we need to notify toggle refs if any */
|
/* if we went from 2->1 we need to notify toggle refs if any */
|
||||||
if (old_ref == 2 && OBJECT_HAS_TOGGLE_REF (object) &&
|
if (old_ref == 2 && OBJECT_HAS_TOGGLE_REF (object) &&
|
||||||
g_atomic_int_get ((int *)&object->ref_count) == 1)
|
g_atomic_int_get ((int *)&object->ref_count) == 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user