From 4668e6dc63490e992f0159358c76060a4e6f10bc Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 12 Jan 2017 22:49:53 +0100 Subject: [PATCH] stack: Build stored render node with custom Snapshot object This is in preparation for API changes in GtkSnapshot. --- gtk/gtkstack.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c index b1448f28b7..0e4e46372f 100644 --- a/gtk/gtkstack.c +++ b/gtk/gtkstack.c @@ -2093,11 +2093,17 @@ gtk_stack_render (GtkCssGadget *gadget, if (priv->last_visible_node == NULL && priv->last_visible_child != NULL) { + GtkSnapshot last_visible_snapshot; + gtk_widget_get_allocation (priv->last_visible_child->widget, &priv->last_visible_surface_allocation); - gtk_snapshot_push (snapshot, FALSE, "StackCaptureLastVisibleChild"); - gtk_widget_snapshot (priv->last_visible_child->widget, snapshot); - priv->last_visible_node = gtk_snapshot_pop (snapshot); + gtk_snapshot_init (&last_visible_snapshot, + gtk_snapshot_get_renderer (snapshot), + snapshot->record_names, + NULL, + "StackCaptureLastVisibleChild"); + gtk_widget_snapshot (priv->last_visible_child->widget, &last_visible_snapshot); + priv->last_visible_node = gtk_snapshot_finish (&last_visible_snapshot); } gtk_snapshot_push_clip (snapshot,