diff options
author | Matthias Clasen <matthiasc@src.gnome.org> | 2009-02-11 07:25:57 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2009-02-11 07:25:57 +0000 |
commit | 44fb5dcfc81f60d5e61a936a0008378b0751184f (patch) | |
tree | 3d8cd59cc23f8f867e1654b805ba8dc32fc5ba74 /gtk | |
parent | 6bd8756269730898f3f278e1d10573d417e0c137 (diff) | |
download | gtk+-44fb5dcfc81f60d5e61a936a0008378b0751184f.tar.gz |
Fix rendering of icons in some cases
svn path=/trunk/; revision=22308
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkentry.c | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 36bcee6bf4..04ae129fc7 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -6252,6 +6252,7 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, GtkSettings *settings; gint width, height; GtkIconInfo *info; + gint state; if (!icon_info || icon_info->pixbuf) return; @@ -6262,10 +6263,13 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, case GTK_IMAGE_PIXBUF: break; case GTK_IMAGE_STOCK: + state = GTK_WIDGET_STATE (entry); + GTK_WIDGET_STATE (entry) = GTK_STATE_NORMAL; icon_info->pixbuf = gtk_widget_render_icon (GTK_WIDGET (entry), icon_info->stock_id, GTK_ICON_SIZE_MENU, NULL); + GTK_WIDGET_STATE (entry) = state; break; case GTK_IMAGE_ICON_NAME: @@ -6285,10 +6289,15 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, 0, NULL); if (icon_info->pixbuf == NULL) - icon_info->pixbuf = gtk_widget_render_icon (GTK_WIDGET (entry), - GTK_STOCK_MISSING_IMAGE, - GTK_ICON_SIZE_MENU, - NULL); + { + state = GTK_WIDGET_STATE (entry); + GTK_WIDGET_STATE (entry) = GTK_STATE_NORMAL; + icon_info->pixbuf = gtk_widget_render_icon (GTK_WIDGET (entry), + GTK_STOCK_MISSING_IMAGE, + GTK_ICON_SIZE_MENU, + NULL); + GTK_WIDGET_STATE (entry) = state; + } } break; @@ -6314,10 +6323,15 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, } if (icon_info->pixbuf == NULL) - icon_info->pixbuf = gtk_widget_render_icon (GTK_WIDGET (entry), - GTK_STOCK_MISSING_IMAGE, - GTK_ICON_SIZE_MENU, - NULL); + { + state = GTK_WIDGET_STATE (entry); + GTK_WIDGET_STATE (entry) = GTK_STATE_NORMAL; + icon_info->pixbuf = gtk_widget_render_icon (GTK_WIDGET (entry), + GTK_STOCK_MISSING_IMAGE, + GTK_ICON_SIZE_MENU, + NULL); + GTK_WIDGET_STATE (entry) = state; + } } break; |