diff options
-rw-r--r-- | src/idobasicmenuitem.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/idobasicmenuitem.c b/src/idobasicmenuitem.c index c023b7b..da17211 100644 --- a/src/idobasicmenuitem.c +++ b/src/idobasicmenuitem.c @@ -253,9 +253,21 @@ ido_basic_menu_item_set_icon (IdoBasicMenuItem * self, GIcon * icon) } else { + GtkIconInfo *info; + const gchar *filename; + GdkPixbuf *pixbuf; + p->icon = g_object_ref (icon); - gtk_image_set_from_gicon (GTK_IMAGE(p->image), p->icon, GTK_ICON_SIZE_MENU); + + info = gtk_icon_theme_lookup_by_gicon (gtk_icon_theme_get_default (), p->icon, 16, 0); + filename = gtk_icon_info_get_filename (info); + pixbuf = gdk_pixbuf_new_from_file_at_scale (filename, -1, 16, TRUE, NULL); + + gtk_image_set_from_pixbuf (GTK_IMAGE(p->image), pixbuf); gtk_widget_set_visible (p->image, TRUE); + + g_object_unref (info); + g_object_unref (pixbuf); } } } |