widget: Clear size request cache on queue_resize()
authorBenjamin Otte <otte@redhat.com>
Sun, 21 Nov 2021 05:08:06 +0000 (06:08 +0100)
committerBenjamin Otte <otte@redhat.com>
Sun, 21 Nov 2021 05:08:06 +0000 (06:08 +0100)
... and not later.

Otherwise future calls to sizing fucntions will reuse an outdated cache
and compute wrong values.

gtk/gtkwidget.c

index 192cc62de34bd26fdb466edf619a84a48a93d12a..d6ad33626ff6a2283a447c9de78bc646ff1ef6ba 100644 (file)
@@ -3591,6 +3591,7 @@ gtk_widget_queue_resize_internal (GtkWidget *widget)
     return;
 
   priv->resize_needed = TRUE;
+  _gtk_size_request_cache_clear (&priv->requests);
   gtk_widget_set_alloc_needed (widget);
 
   if (priv->resize_func)
@@ -10602,7 +10603,6 @@ gtk_widget_ensure_resize (GtkWidget *widget)
     return;
 
   priv->resize_needed = FALSE;
-  _gtk_size_request_cache_clear (&priv->requests);
 }
 
 void