mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
notify: Remove g_object_notify_queue_from_object()
The function will not be safe with object locking in place, so we remove it. The workaround is somewhat ugly, but it works. https://bugzilla.gnome.org/show_bug.cgi?id=166020
This commit is contained in:
parent
83026092eb
commit
65797f7e54
@ -978,12 +978,14 @@ g_object_thaw_notify (GObject *object)
|
||||
return;
|
||||
|
||||
g_object_ref (object);
|
||||
nqueue = g_object_notify_queue_from_object (object, &property_notify_context);
|
||||
if (!nqueue || !nqueue->freeze_count)
|
||||
g_warning ("%s: property-changed notification for %s(%p) is not frozen",
|
||||
G_STRFUNC, G_OBJECT_TYPE_NAME (object), object);
|
||||
else
|
||||
g_object_notify_queue_thaw (object, nqueue);
|
||||
|
||||
/* FIXME: Freezing is the only way to get at the notify queue.
|
||||
* So we freeze once and then thaw twice.
|
||||
*/
|
||||
nqueue = g_object_notify_queue_freeze (object, &property_notify_context);
|
||||
g_object_notify_queue_thaw (object, nqueue);
|
||||
g_object_notify_queue_thaw (object, nqueue);
|
||||
|
||||
g_object_unref (object);
|
||||
}
|
||||
|
||||
|
@ -155,13 +155,6 @@ g_object_notify_queue_add (GObject *object,
|
||||
}
|
||||
}
|
||||
|
||||
static inline GObjectNotifyQueue*
|
||||
g_object_notify_queue_from_object (GObject *object,
|
||||
GObjectNotifyContext *context)
|
||||
{
|
||||
return g_datalist_id_get_data (&object->qdata, context->quark_notify_queue);
|
||||
}
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user