[gtk/wip/muktupavels/size-request] sizerequest: ensure resize in get_request_mode




commit 12de2a2a6955121570b160829455175ef25c8a27
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Fri Apr 30 14:20:33 2021 +0300

    sizerequest: ensure resize in get_request_mode
    
    gtk_widget_get_request_mode is used to decide how size should be
    requested in gtk_widget_size_allocate_with_baseline,
    gtk_scrolled_window_allocate, gtk_window_guess_default_size and
    _gtk_widget_get_preferred_size_and_baseline.
    
    As widgets can change size request mode we should ensure that
    cache is cleared (if resize has been queued) to make sure that
    correct size request mode is used.
    
    https://gitlab.gnome.org/GNOME/gtk/-/issues/2556

 gtk/gtksizerequest.c | 2 ++
 1 file changed, 2 insertions(+)
---
diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c
index 1dd3671e6c..7701cbf3e0 100644
--- a/gtk/gtksizerequest.c
+++ b/gtk/gtksizerequest.c
@@ -452,6 +452,8 @@ gtk_widget_get_request_mode (GtkWidget *widget)
 {
   SizeRequestCache *cache;
 
+  gtk_widget_ensure_resize (widget);
+
   cache = _gtk_widget_peek_request_cache (widget);
 
   if (G_UNLIKELY (!cache->request_mode_valid))


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