Author: kelnos
Date: 2008-04-15 10:36:24 +0000 (Tue, 15 Apr 2008)
New Revision: 26845

Modified:
   xfconf/trunk/xfconf/xfconf-binding.c
Log:
remove XfconfGBinding from channel's list if the GObject gets freed


Modified: xfconf/trunk/xfconf/xfconf-binding.c
===================================================================
--- xfconf/trunk/xfconf/xfconf-binding.c        2008-04-15 08:55:39 UTC (rev 
26844)
+++ xfconf/trunk/xfconf/xfconf-binding.c        2008-04-15 10:36:24 UTC (rev 
26845)
@@ -93,6 +93,16 @@
                                   GObject *where_the_object_was)
 {
     XfconfGBinding *binding = data;
+    GList *bindings = g_object_steal_data(G_OBJECT(binding->channel),
+                                          "--xfconf-g-bindings");
+
+    bindings = g_list_remove(bindings, binding);
+    if(bindings) {
+        g_object_set_data_full(G_OBJECT(binding->channel),
+                               "--xfconf-g-bindings",
+                               bindings, (GDestroyNotify)g_list_free);
+    }
+
     binding->object = NULL;
     xfconf_g_binding_free(binding);
 }

_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to