From d2c46162427ebaa8ba244643e29d9f3a1082538b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 29 Jun 2022 15:17:05 +0200 Subject: [PATCH] clutter/fixed-layout: Ignore hidden children in size request Hidden actors aren't only invisible, they should also not take up any size. Found in the context of https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2347 Part-of: --- clutter/clutter/clutter-fixed-layout.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/clutter/clutter/clutter-fixed-layout.c b/clutter/clutter/clutter-fixed-layout.c index 095f2d752..9f68bb175 100644 --- a/clutter/clutter/clutter-fixed-layout.c +++ b/clutter/clutter/clutter-fixed-layout.c @@ -66,6 +66,9 @@ clutter_fixed_layout_get_preferred_width (ClutterLayoutManager *manager, { gfloat child_x, child_min, child_natural; + if (!clutter_actor_is_visible (child)) + continue; + child_x = clutter_actor_get_x (child); clutter_actor_get_preferred_size (child, @@ -108,6 +111,9 @@ clutter_fixed_layout_get_preferred_height (ClutterLayoutManager *manager, { gfloat child_y, child_min, child_natural; + if (!clutter_actor_is_visible (child)) + continue; + child_y = clutter_actor_get_y (child); clutter_actor_get_preferred_size (child,