summaryrefslogtreecommitdiff
path: root/gobject/gobjectnotifyqueue.c
diff options
context:
space:
mode:
Diffstat (limited to 'gobject/gobjectnotifyqueue.c')
-rw-r--r--gobject/gobjectnotifyqueue.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gobject/gobjectnotifyqueue.c b/gobject/gobjectnotifyqueue.c
index 03db5c2c7..c816a86f5 100644
--- a/gobject/gobjectnotifyqueue.c
+++ b/gobject/gobjectnotifyqueue.c
@@ -142,8 +142,14 @@ g_object_notify_queue_add (GObject *object,
{
if (pspec->flags & G_PARAM_READABLE)
{
+ GParamSpec *redirect;
+
g_return_if_fail (nqueue->n_pspecs < 65535);
-
+
+ redirect = g_param_spec_get_redirect_target (pspec);
+ if (redirect)
+ pspec = redirect;
+
/* we do the deduping in _thaw */
nqueue->pspecs = g_slist_prepend (nqueue->pspecs, pspec);
nqueue->n_pspecs++;