From 734a7cc16f9fba91a4b21ce1f8defec0cfddcbc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Thu, 2 Jul 2020 18:41:43 +0200 Subject: [PATCH] clutter/actor: Alway call queue_relayout() when showing actors clutter_actor_queue_relayout() detects whether a parent has the NO_LAYOUT flag set by itself and then queues a shallow relayout for us. There's no need to duplicate that logic when showing actors, so simply call clutter_actor_queue_relayout() and let that handle it. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1366 --- clutter/clutter/clutter-actor.c | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c index f4b8b6178..df13566b3 100644 --- a/clutter/clutter/clutter-actor.c +++ b/clutter/clutter/clutter-actor.c @@ -1798,28 +1798,12 @@ clutter_actor_real_show (ClutterActor *self) */ clutter_actor_update_map_state (self, MAP_STATE_CHECK); - /* we queue a relayout unless the actor is inside a - * container that explicitly told us not to - */ - if (priv->parent != NULL && - (!(priv->parent->flags & CLUTTER_ACTOR_NO_LAYOUT))) - { - /* While an actor is hidden the parent may not have - * allocated/requested so we need to start from scratch - * and avoid the short-circuiting in - * clutter_actor_queue_relayout(). - */ - priv->needs_width_request = FALSE; - priv->needs_height_request = FALSE; - priv->needs_allocation = FALSE; + /* Avoid the early return in clutter_actor_queue_relayout() */ + priv->needs_width_request = FALSE; + priv->needs_height_request = FALSE; + priv->needs_allocation = FALSE; - clutter_actor_queue_relayout (self); - } - else /* but still don't leave the actor un-allocated before showing it */ - { - clutter_actor_queue_shallow_relayout (self); - clutter_actor_queue_redraw (self); - } + clutter_actor_queue_relayout (self); } static inline void