From: Benjamin Otte Date: Tue, 27 Mar 2018 23:00:07 +0000 (+0200) Subject: widget: Reorder gtk_widget_render() X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~22^2~677 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b19d7630aedab0405e21c0bc2ed34334329d2578;p=gtk4.git widget: Reorder gtk_widget_render() Now that we don't clip the created render nodes anymore, we don't have to compute the clip region beforehand. So snapshot the render nodes before initializing the renderer. --- diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 8b99176ee1..d6b91417e3 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -14059,15 +14059,16 @@ gtk_widget_render (GtkWidget *widget, if (renderer == NULL) return; - context = gsk_renderer_begin_draw_frame (renderer, region); - snapshot = gtk_snapshot_new (should_record_names (widget, renderer), NULL, "Render<%s>", G_OBJECT_TYPE_NAME (widget)); gtk_widget_snapshot (widget, snapshot); root = gtk_snapshot_free_to_node (snapshot); + if (root != NULL) { + context = gsk_renderer_begin_draw_frame (renderer, region); + gtk_inspector_record_render (widget, renderer, surface, @@ -14077,10 +14078,9 @@ gtk_widget_render (GtkWidget *widget, gsk_renderer_render (renderer, root, context); gsk_render_node_unref (root); - } - - gsk_renderer_end_draw_frame (renderer, context); + gsk_renderer_end_draw_frame (renderer, context); + } } /**