[gnome-video-arcade] treeview: Fix favorite icon rendering.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-video-arcade] treeview: Fix favorite icon rendering.
- Date: Tue, 28 Jul 2015 18:50:17 +0000 (UTC)
commit b8755d54de94dc3f8385758af0326f2189a4a211
Author: Matthew Barnes <mbarnes redhat com>
Date: Tue Jul 28 14:44:30 2015 -0400
treeview: Fix favorite icon rendering.
The icon for non-favorite games was supposed to be rendered as insensitive
but still clickable. This broke as some point in certain GTK3 themes like
Adwaita, so new trickery is needed.
https://bugzilla.gnome.org/704811
src/gva-cell-renderer-pixbuf.c | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/src/gva-cell-renderer-pixbuf.c b/src/gva-cell-renderer-pixbuf.c
index f3411cf..634a885 100644
--- a/src/gva-cell-renderer-pixbuf.c
+++ b/src/gva-cell-renderer-pixbuf.c
@@ -109,19 +109,27 @@ cell_renderer_pixbuf_render (GtkCellRenderer *cell,
const GdkRectangle *cell_area,
GtkCellRendererState flags)
{
- GvaCellRendererPixbufPrivate *priv;
- gboolean sensitive;
+ GvaCellRendererPixbuf *pixbuf_cell;
+ GtkStyleContext *context;
+ GtkStateFlags state;
- priv = GVA_CELL_RENDERER_PIXBUF_GET_PRIVATE (cell);
+ pixbuf_cell = GVA_CELL_RENDERER_PIXBUF (cell);
- sensitive = gtk_cell_renderer_get_sensitive (cell);
- gtk_cell_renderer_set_sensitive (cell, priv->active);
+ context = gtk_widget_get_style_context (widget);
+
+ gtk_style_context_save (context);
+
+ if (!pixbuf_cell->priv->active)
+ flags |= GTK_CELL_RENDERER_INSENSITIVE;
+
+ state = gtk_cell_renderer_get_state (cell, widget, flags);
+ gtk_style_context_set_state (context, state);
/* Chain up to parent's render() method. */
GTK_CELL_RENDERER_CLASS (gva_cell_renderer_pixbuf_parent_class)->
render (cell, cr, widget, background_area, cell_area, flags);
- gtk_cell_renderer_set_sensitive (cell, sensitive);
+ gtk_style_context_restore (context);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]