diff options
author | Jonas Dreßler <verdre@v0yd.nl> | 2020-07-02 18:41:43 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-10-20 15:27:43 +0000 |
commit | 734a7cc16f9fba91a4b21ce1f8defec0cfddcbc5 (patch) | |
tree | e464ab781ec8ce01420be25f512fb4dc31356a8c /clutter | |
parent | 345976192decbc4cbf2c6df1d18b713875a2cb7f (diff) | |
download | mutter-734a7cc16f9fba91a4b21ce1f8defec0cfddcbc5.tar.gz |
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
Diffstat (limited to 'clutter')
-rw-r--r-- | clutter/clutter/clutter-actor.c | 26 |
1 files 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 |