From 4045ff049580248fdffa58a3b8c40bf4bef07682 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 12 Mar 2010 21:08:15 -0600 Subject: Switching to building with GIcon so that we don't have to add an icon, we can use fallbacks. --- src/indicator-session.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/indicator-session.c') diff --git a/src/indicator-session.c b/src/indicator-session.c index 3349886..184a335 100644 --- a/src/indicator-session.c +++ b/src/indicator-session.c @@ -326,12 +326,14 @@ restart_property_change (DbusmenuMenuitem * item, const gchar * property, const } else if (g_strcmp0(property, RESTART_ITEM_ICON) == 0) { GtkWidget * image = gtk_image_menu_item_get_image(GTK_IMAGE_MENU_ITEM(gmi)); + GIcon * gicon = g_themed_icon_new_with_default_fallbacks(g_value_get_string(value)); if (image == NULL) { - image = gtk_image_new_from_icon_name(g_value_get_string(value), GTK_ICON_SIZE_MENU); + image = gtk_image_new_from_gicon(gicon, GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(gmi), image); } else { - gtk_image_set_from_icon_name(GTK_IMAGE(image), g_value_get_string(value), GTK_ICON_SIZE_MENU); + gtk_image_set_from_gicon(GTK_IMAGE(image), gicon, GTK_ICON_SIZE_MENU); } + g_object_unref(G_OBJECT(gicon)); } return; -- cgit v1.2.3 From 70a0dc7cf431dd2c7d4faa7081cbd7ea637a825f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 12 Mar 2010 21:23:35 -0600 Subject: Making sure that if we can't get the icon, we leave it alone. --- src/indicator-session.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/indicator-session.c') diff --git a/src/indicator-session.c b/src/indicator-session.c index 184a335..55579b9 100644 --- a/src/indicator-session.c +++ b/src/indicator-session.c @@ -167,6 +167,14 @@ indicator_session_finalize (GObject *object) static void icon_name_get_cb (DBusGProxy *proxy, char * OUT_name, GError *error, gpointer userdata) { + if (error != NULL) { + return; + } + + if (OUT_name == NULL || OUT_name[0] == '\0') { + return; + } + IndicatorSession * self = INDICATOR_SESSION(userdata); gtk_image_set_from_icon_name(self->status_image, OUT_name, GTK_ICON_SIZE_MENU); return; -- cgit v1.2.3