GVariant: lock before freeing, to avoid assert
authorRyan Lortie <desrt@desrt.ca>
Thu, 11 Feb 2010 21:52:20 +0000 (16:52 -0500)
committerRyan Lortie <desrt@desrt.ca>
Thu, 11 Feb 2010 21:53:56 +0000 (16:53 -0500)
glib/gvariant-core.c

index f8d1713..909d071 100644 (file)
@@ -595,6 +595,8 @@ g_variant_unref (GVariant *value)
         g_critical ("attempting to free a locked GVariant instance.  "
                     "This should never happen.");
 
+      value->state |= STATE_LOCKED;
+
       g_variant_type_info_unref (value->type_info);
 
       if (value->state & STATE_SERIALISED)