[evince] gimpcellrenderertoggle: Fix rendering without hover
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evince] gimpcellrenderertoggle: Fix rendering without hover
- Date: Sat, 19 Aug 2017 06:35:40 +0000 (UTC)
commit 80c87939c28f28ad15c2bf4e5f8a8d2a2120a466
Author: Jonas Hahnfeld <hahnjo hahnjo de>
Date: Fri Aug 18 13:48:03 2017 +0200
gimpcellrenderertoggle: Fix rendering without hover
The previous code accessed draw_rect which was only set if a shadow
was drawn as hover effect. This has worked until commit 8c225e6
("Remove gtk 2 support") where the gtk 2 code path had
if (gdk_rectangle_intersect (expose_area, cell_area, &draw_rect) &&
(flags & GTK_CELL_RENDERER_PRELIT))
which meant setting draw_rect unconditionally. Commit 0a2d3c2
("[gimpcellrenderertoggle] Paint a shadow when the mouse is over the cell renderer")
readded the code path in its current form which checks the flag first.
https://bugzilla.gnome.org/show_bug.cgi?id=786464
.../gimpcellrenderertoggle.c | 11 ++---------
1 files changed, 2 insertions(+), 9 deletions(-)
---
diff --git a/cut-n-paste/gimpcellrenderertoggle/gimpcellrenderertoggle.c
b/cut-n-paste/gimpcellrenderertoggle/gimpcellrenderertoggle.c
index 6a7c55c..71ab2e5 100644
--- a/cut-n-paste/gimpcellrenderertoggle/gimpcellrenderertoggle.c
+++ b/cut-n-paste/gimpcellrenderertoggle/gimpcellrenderertoggle.c
@@ -359,16 +359,9 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
{
GdkPixbuf *insensitive = NULL;
GdkPixbuf *pixbuf = toggle->pixbuf;
- GtkBorder border = { 1, 1, 1, 1 };
+ GtkBorder border;
-#if 0
- /* FIXME: for some reason calling gtk_style_context_get_border
- * makes the icon only visible on hover, so use border = 1
- * for now as a workaround
- */
gtk_style_context_get_border (context, state, &border);
-#endif
-
toggle_rect.x += border.left;
toggle_rect.y += border.top;
toggle_rect.width -= (border.left + border.right);
@@ -397,7 +390,7 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
pixbuf = insensitive;
}
- if (gdk_rectangle_intersect (&draw_rect, &toggle_rect, &draw_rect))
+ if (gdk_rectangle_intersect (cell_area, &toggle_rect, &draw_rect))
{
gdk_cairo_set_source_pixbuf (cr, pixbuf, toggle_rect.x, toggle_rect.y);
gdk_cairo_rectangle (cr, &draw_rect);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]