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
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits