Author: kelnos
Date: 2009-06-06 09:05:49 +0000 (Sat, 06 Jun 2009)
New Revision: 29995

Modified:
   xfconf/trunk/xfconf/xfconf-binding.c
Log:
bindings: fix async property fetch when the channel has a property base

Modified: xfconf/trunk/xfconf/xfconf-binding.c
===================================================================
--- xfconf/trunk/xfconf/xfconf-binding.c        2009-06-04 09:35:23 UTC (rev 
29994)
+++ xfconf/trunk/xfconf/xfconf-binding.c        2009-06-06 09:05:49 UTC (rev 
29995)
@@ -324,6 +324,7 @@
 {
     XfconfGBinding *binding;
     gchar buf[1024], *channel_name = NULL;
+    gchar *property_base = NULL, *real_property;
     GSList *bindings;
 
     binding = g_slice_new0(XfconfGBinding);
@@ -371,13 +372,25 @@
                                bindings, (GDestroyNotify)g_slist_free);
     }
 
-    g_object_get(G_OBJECT(channel), "channel-name", &channel_name, NULL);
+    g_object_get(G_OBJECT(channel),
+                 "channel-name", &channel_name,
+                 "property-base", &property_base,
+                 NULL);
+    if(property_base)
+        real_property = g_strconcat(property_base, xfconf_property, NULL);
+    else
+        real_property = (gchar *)xfconf_property;
+
     binding->call = 
xfconf_client_get_property_async(_xfconf_get_dbus_g_proxy(),
                                                      channel_name,
-                                                     xfconf_property,
+                                                     real_property,
                                                      
xfconf_g_binding_initial_value_received,
                                                      binding);
     g_free(channel_name);
+    if(property_base) {
+        g_free(property_base);
+        g_free(real_property);
+    }
 
     binding->id = ++__last_binding_id;
     if(G_UNLIKELY(binding->id == 0)) {

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

Reply via email to