[gtk+] cellrendererpixbuf: Don't eat states
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] cellrendererpixbuf: Don't eat states
- Date: Thu, 5 Sep 2013 16:49:12 +0000 (UTC)
commit fa3b803de9aef33208a71c6e2113deac468e5f8d
Author: Benjamin Otte <otte redhat com>
Date: Thu Sep 5 18:45:13 2013 +0200
cellrendererpixbuf: Don't eat states
Even when not following states, blacklist the states we don't follow
instead of whitelisting the ones we do. This way, we don't accidentally
eat new ones like the text direction flags.
Fixes a bug where text direction wasn't available when rendering stock
items.
https://bugzilla.gnome.org/show_bug.cgi?id=702423
gtk/gtkcellrendererpixbuf.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
---
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index 1ae7995..1af8c42 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]