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:
Olivier Crête 2010-07-22 21:20:35 +02:00 committed by Benjamin Otte
parent 83026092eb
commit 65797f7e54
2 changed files with 8 additions and 13 deletions

View File

@ -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);
}

View File

@ -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