diff options
author | Matthias Clasen <mclasen@redhat.com> | 2016-08-06 10:24:05 -0400 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2016-10-18 11:49:12 +0100 |
commit | 7f86516c27edf75174cc544c3c6f4e6ae7482a9b (patch) | |
tree | 3c21f1142ec4ccf9c515ed214e7b36073af13768 /gsk | |
parent | 02187371a2e45bbd20d48dc474b72cfd6dbd0cbe (diff) | |
download | gtk+-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.c | 20 |
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; |