[gtk/wip/baedert/for-master: 103/104] popover: Only destroy arrow render node if position changed




commit a6f86d9c26b43a73104c95ee75a9ba1465ce4d56
Author: Timm Bäder <mail baedert org>
Date:   Thu Sep 10 06:02:34 2020 +0200

    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));
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]