aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/client.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-03-10 10:11:04 -0600
committerTed Gould <ted@gould.cx>2011-03-10 10:11:04 -0600
commita97646cd0857bc60433490542ec1b98daf9fe7a2 (patch)
tree8f244f03e9081973bbc6d28b6e095ddac654dcbf /libdbusmenu-glib/client.c
parenta7e3539d6e950f515451a7a16cae2f967180b789 (diff)
downloadlibdbusmenu-a97646cd0857bc60433490542ec1b98daf9fe7a2.tar.gz
libdbusmenu-a97646cd0857bc60433490542ec1b98daf9fe7a2.tar.bz2
libdbusmenu-a97646cd0857bc60433490542ec1b98daf9fe7a2.zip
On initially getting the proxy we need to check the theme directories to boot strap.
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r--libdbusmenu-glib/client.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index c95b161..6a62f9e 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -1056,10 +1056,25 @@ menuproxy_build_cb (GObject * object, GAsyncResult * res, gpointer user_data)
}
priv->text_direction = dbusmenu_text_direction_get_value_from_nick(g_variant_get_string(str, NULL));
+ g_object_notify(G_OBJECT(user_data), DBUSMENU_CLIENT_PROP_TEXT_DIRECTION);
g_variant_unref(textdir);
}
+ /* Get the icon theme directories if available */
+ GVariant * icon_dirs = g_dbus_proxy_get_cached_property(priv->menuproxy, "IconThemePath");
+ if (icon_dirs != NULL) {
+ if (priv->icon_dirs != NULL) {
+ g_strfreev(priv->icon_dirs);
+ priv->icon_dirs = NULL;
+ }
+
+ priv->icon_dirs = g_variant_dup_strv(icon_dirs, NULL);
+ g_signal_emit(G_OBJECT(client), signals[ICON_THEME_DIRS], 0, priv->icon_dirs, TRUE);
+
+ g_variant_unref(icon_dirs);
+ }
+
/* If we get here, we don't need the DBus proxy */
if (priv->dbusproxy != 0) {
g_bus_unwatch_name(priv->dbusproxy);