diff options
author | Ted Gould <ted@gould.cx> | 2011-03-04 11:47:23 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-03-04 11:47:23 -0600 |
commit | 3d56637921acae3410b1889ddc2f7dba16b46e80 (patch) | |
tree | 36fb05ab820c8c4958697c2805218a9658c24381 /libdbusmenu-gtk | |
parent | 761849e55ee1a6b6597e81f00dc20f7a8397e67f (diff) | |
download | libdbusmenu-3d56637921acae3410b1889ddc2f7dba16b46e80.tar.gz libdbusmenu-3d56637921acae3410b1889ddc2f7dba16b46e80.tar.bz2 libdbusmenu-3d56637921acae3410b1889ddc2f7dba16b46e80.zip |
Making a private variable and making a lifecycle for it.
Diffstat (limited to 'libdbusmenu-gtk')
-rw-r--r-- | libdbusmenu-gtk/client.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c index d3d0533..b0355c9 100644 --- a/libdbusmenu-gtk/client.c +++ b/libdbusmenu-gtk/client.c @@ -38,6 +38,7 @@ License version 3 and version 2.1 along with this program. If not, see /* Private */ struct _DbusmenuGtkClientPrivate { + GStrv old_themedirs; GtkAccelGroup * agroup; }; @@ -55,6 +56,7 @@ static void delete_child (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, Dbusm static void move_child (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, guint new, guint old, DbusmenuGtkClient * gtkclient); static void item_activate (DbusmenuClient * client, DbusmenuMenuitem * mi, guint timestamp, gpointer userdata); static void theme_dir_changed (DbusmenuClient * client, GStrv theme_dirs, gpointer userdata); +static void remove_theme_dirs (GtkIconTheme * theme, GStrv dirs); static gboolean new_item_normal (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client, gpointer user_data); static gboolean new_item_seperator (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client, gpointer user_data); @@ -90,6 +92,7 @@ dbusmenu_gtkclient_init (DbusmenuGtkClient *self) DbusmenuGtkClientPrivate * priv = DBUSMENU_GTKCLIENT_GET_PRIVATE(self); priv->agroup = NULL; + priv->old_themedirs = NULL; dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(self), DBUSMENU_CLIENT_TYPES_DEFAULT, new_item_normal); dbusmenu_client_add_type_handler(DBUSMENU_CLIENT(self), DBUSMENU_CLIENT_TYPES_SEPARATOR, new_item_seperator); @@ -113,6 +116,12 @@ dbusmenu_gtkclient_dispose (GObject *object) priv->agroup = NULL; } + if (priv->old_themedirs) { + remove_theme_dirs(gtk_icon_theme_get_default(), priv->old_themedirs); + g_strfreev(priv->old_themedirs); + priv->old_themedirs = NULL; + } + G_OBJECT_CLASS (dbusmenu_gtkclient_parent_class)->dispose (object); return; } @@ -126,6 +135,14 @@ dbusmenu_gtkclient_finalize (GObject *object) return; } +/* Unregister this list of theme directories */ +static void +remove_theme_dirs (GtkIconTheme * theme, GStrv dirs) +{ + + return; +} + /* Called when the theme directories are changed by the server part of things. */ static void |