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