From: Benjamin Otte Date: Tue, 28 Jan 2020 16:15:04 +0000 (+0100) Subject: popover: Do not validate the css node on show() X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~142^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=17ca95a1617b009a76b27a8572671855435985e7;p=gtk4.git popover: Do not validate the css node on show() This was a good idea back in GTK3 when popovers were toplevels, but now they're regular child widgets, so they should behave that way. Also, with the introduction of the bloom filter, gtk_css_node_validate() now assumes it's only called on root nodes, so assert that that is the case. --- diff --git a/gtk/gtkcssnode.c b/gtk/gtkcssnode.c index ab52c2bcd3..ebc65a8d43 100644 --- a/gtk/gtkcssnode.c +++ b/gtk/gtkcssnode.c @@ -1353,6 +1353,8 @@ gtk_css_node_validate (GtkCssNode *cssnode) gint64 timestamp; gint64 before = g_get_monotonic_time (); + g_assert (cssnode->parent == NULL); + timestamp = gtk_css_node_get_timestamp (cssnode); gtk_css_node_validate_internal (cssnode, &filter, timestamp); diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c index 168a51a892..752c8b9777 100644 --- a/gtk/gtkpopover.c +++ b/gtk/gtkpopover.c @@ -647,7 +647,6 @@ gtk_popover_show (GtkWidget *widget) GtkPopoverPrivate *priv = gtk_popover_get_instance_private (popover); _gtk_widget_set_visible_flag (widget, TRUE); - gtk_css_node_validate (gtk_widget_get_css_node (widget)); gtk_widget_realize (widget); gtk_popover_native_check_resize (GTK_NATIVE (widget)); gtk_widget_map (widget);