GtkStyle: set style context state before calling gtk_render_icon_pixbuf()

This commit is contained in:
Carlos Garcia Campos 2010-12-03 20:31:13 +01:00 committed by Carlos Garnacho
parent ca59b042df
commit b75972d0ce

View File

@ -1693,6 +1693,7 @@ gtk_default_render_icon (GtkStyle *style,
{
GtkStyleContext *context;
GtkStylePrivate *priv;
GtkStateFlags flags = 0;
GdkPixbuf *pixbuf;
if (widget)
@ -1711,6 +1712,20 @@ gtk_default_render_icon (GtkStyle *style,
if (detail)
transform_detail_string (detail, context);
switch (state)
{
case GTK_STATE_PRELIGHT:
flags |= GTK_STATE_FLAG_PRELIGHT;
break;
case GTK_STATE_INSENSITIVE:
flags |= GTK_STATE_FLAG_INSENSITIVE;
break;
default:
break;
}
gtk_style_context_set_state (context, flags);
pixbuf = gtk_render_icon_pixbuf (context, source, size);
gtk_style_context_restore (context);