[gtk/wip/muktupavels/size-request] sizerequest: ensure resize in get_request_mode
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/muktupavels/size-request] sizerequest: ensure resize in get_request_mode
- Date: Fri, 30 Apr 2021 12:13:28 +0000 (UTC)
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]