summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/gtkcellrendererpixbuf.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index 1ae79950e1..1af8c423ea 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/gtkcellrendererpixbuf.c
@@ -531,13 +531,10 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell,
context = gtk_widget_get_style_context (widget);
gtk_style_context_save (context);
- state = GTK_STATE_FLAG_NORMAL;
+ state = gtk_cell_renderer_get_state (cell, widget, flags);
- if (priv->follow_state)
- state = gtk_cell_renderer_get_state (cell, widget, flags);
- else if (!gtk_widget_get_sensitive (widget) ||
- !gtk_cell_renderer_get_sensitive (cell))
- state |= GTK_STATE_FLAG_INSENSITIVE;
+ if (!priv->follow_state)
+ state &= ~(GTK_STATE_FLAG_FOCUSED | GTK_STATE_FLAG_PRELIGHT | GTK_STATE_FLAG_SELECTED);
gtk_style_context_set_state (context, state);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE);