summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2018-04-02 08:25:04 +0200
committerBenjamin Otte <otte@redhat.com>2018-04-05 14:56:39 +0200
commit4a513b7800b8d8c98211ecc24bba4b0cba180ec1 (patch)
treefa7c8427ac4351775bfb70e6c0159554e76d3693
parentc85547667fb7fb12c102baf0c715ea7185040bbb (diff)
downloadgtk+-4a513b7800b8d8c98211ecc24bba4b0cba180ec1.tar.gz
reftests: Port from gtk_widget_draw() to snapshots
-rw-r--r--testsuite/reftests/reftest-snapshot.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/testsuite/reftests/reftest-snapshot.c b/testsuite/reftests/reftest-snapshot.c
index d875fec1d4..2640050dd8 100644
--- a/testsuite/reftests/reftest-snapshot.c
+++ b/testsuite/reftests/reftest-snapshot.c
@@ -172,7 +172,19 @@ snapshot_widget (GtkWidget *widget, SnapshotMode mode)
snapshot_window_native (gtk_widget_get_surface (widget), cr);
break;
case SNAPSHOT_DRAW:
- gtk_widget_draw (widget, cr);
+ {
+ GtkSnapshot *snapshot = gtk_snapshot_new (FALSE, "ReftestSnapshot");
+ GdkPaintable *paintable = gtk_widget_paintable_new (widget);
+ GskRenderNode *node;
+
+ gdk_paintable_snapshot (paintable,
+ snapshot,
+ gtk_widget_get_allocated_width (widget),
+ gtk_widget_get_allocated_height (widget));
+ g_object_unref (paintable);
+ node = gtk_snapshot_free_to_node (snapshot);
+ gsk_render_node_draw (node, cr);
+ }
break;
default:
g_assert_not_reached();