summaryrefslogtreecommitdiff
path: root/gsk/gskrendernode.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-12-23 05:56:17 +0100
committerBenjamin Otte <otte@redhat.com>2016-12-23 08:11:01 +0100
commit087ea8e531e14d6ac3bb3a8763352ca5641b676a (patch)
tree79739a527855bbc083326e2ce797ca3524263b1d /gsk/gskrendernode.c
parent08f9a6078bf9a4a748ef8ad6a039e97f33937b9a (diff)
downloadgtk+-087ea8e531e14d6ac3bb3a8763352ca5641b676a.tar.gz
gsk: Warn on cairo errors during gsk_render_node_draw()
It's the same warning we use inside GTK for when stuff weirdly goes wrong.
Diffstat (limited to 'gsk/gskrendernode.c')
-rw-r--r--gsk/gskrendernode.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gsk/gskrendernode.c b/gsk/gskrendernode.c
index fd410f67a5..d6a14b3b1d 100644
--- a/gsk/gskrendernode.c
+++ b/gsk/gskrendernode.c
@@ -253,6 +253,7 @@ gsk_render_node_draw (GskRenderNode *node,
{
g_return_if_fail (GSK_IS_RENDER_NODE (node));
g_return_if_fail (cr != NULL);
+ g_return_if_fail (cairo_status (cr) == CAIRO_STATUS_SUCCESS);
cairo_save (cr);
@@ -283,6 +284,14 @@ gsk_render_node_draw (GskRenderNode *node,
}
cairo_restore (cr);
+
+ if (cairo_status (cr))
+ {
+ g_warning ("drawing failure for render node %s '%s': %s",
+ node->node_class->type_name,
+ gsk_render_node_get_name (node),
+ cairo_status_to_string (cairo_status (cr)));
+ }
}
#define GSK_RENDER_NODE_SERIALIZATION_VERSION 0