summaryrefslogtreecommitdiff
path: root/gsk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-08-06 10:24:05 -0400
committerEmmanuele Bassi <ebassi@gnome.org>2016-10-18 11:49:12 +0100
commit7f86516c27edf75174cc544c3c6f4e6ae7482a9b (patch)
tree3c21f1142ec4ccf9c515ed214e7b36073af13768 /gsk
parent02187371a2e45bbd20d48dc474b72cfd6dbd0cbe (diff)
downloadgtk+-7f86516c27edf75174cc544c3c6f4e6ae7482a9b.tar.gz
Allow selective debug spew
I don't think this should stay in the code long-term, but it is useful for debugging. It helped me track down some suspicious placements of render nodes.
Diffstat (limited to 'gsk')
-rw-r--r--gsk/gskrendernode.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/gsk/gskrendernode.c b/gsk/gskrendernode.c
index a58b07102a..fe34db9e4d 100644
--- a/gsk/gskrendernode.c
+++ b/gsk/gskrendernode.c
@@ -1372,13 +1372,19 @@ gsk_render_node_get_draw_context (GskRenderNode *node)
if (GSK_DEBUG_CHECK (SURFACE))
{
- cairo_save (res);
- cairo_rectangle (res,
- node->bounds.origin.x + 1, node->bounds.origin.y + 1,
- node->bounds.size.width - 2, node->bounds.size.height - 2);
- cairo_set_source_rgba (res, 1, 0, 0, 0.5);
- cairo_stroke (res);
- cairo_restore (res);
+ const char *prefix;
+ prefix = g_getenv ("GSK_DEBUG_PREFIX");
+ if (!prefix || g_str_has_prefix (node->name, prefix))
+ {
+ cairo_save (res);
+ cairo_rectangle (res,
+ node->bounds.origin.x + 1, node->bounds.origin.y + 1,
+ node->bounds.size.width - 2, node->bounds.size.height - 2);
+ cairo_set_line_width (res, 2);
+ cairo_set_source_rgb (res, 1, 0, 0);
+ cairo_stroke (res);
+ cairo_restore (res);
+ }
}
return res;