From a6f86d9c26b43a73104c95ee75a9ba1465ce4d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 10 Sep 2020 06:02:34 +0200 Subject: [PATCH] popover: Only destroy arrow render node if position changed --- gtk/gtkpopover.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c index 5130d68ede..fd3567d8e2 100644 --- a/gtk/gtkpopover.c +++ b/gtk/gtkpopover.c @@ -414,14 +414,16 @@ update_popover_layout (GtkPopover *popover, } if (priv->final_position != position) - gtk_widget_queue_allocate (GTK_WIDGET (popover)); + { + gtk_widget_queue_allocate (GTK_WIDGET (popover)); + g_clear_pointer (&priv->arrow_render_node, gsk_render_node_unref); + } gtk_widget_allocate (GTK_WIDGET (popover), gdk_surface_get_width (priv->surface), gdk_surface_get_height (priv->surface), -1, NULL); - g_clear_pointer (&priv->arrow_render_node, gsk_render_node_unref); gtk_widget_queue_draw (GTK_WIDGET (popover)); }