[notify] lift some code outside of critical region
authorRyan Lortie <desrt@desrt.ca>
Wed, 16 Nov 2011 15:36:57 +0000 (15:36 +0000)
committerRyan Lortie <desrt@desrt.ca>
Wed, 16 Nov 2011 17:50:12 +0000 (17:50 +0000)
gobject/gobject.c

index e8850b0..3a5c6a2 100644 (file)
@@ -313,14 +313,14 @@ g_object_notify_queue_add (GObject            *object,
     {
       GParamSpec *redirect;
 
-      G_LOCK(notify_lock);
-
-      g_return_if_fail (nqueue->n_pspecs < 65535);
-
       redirect = g_param_spec_get_redirect_target (pspec);
       if (redirect)
         pspec = redirect;
 
+      G_LOCK(notify_lock);
+
+      g_return_if_fail (nqueue->n_pspecs < 65535);
+
       /* we do the deduping in _thaw */
       if (g_slist_find (nqueue->pspecs, pspec) == NULL)
         {