Skip to content

clutter: Defer actor allocations till shown

Currently nothing in the clutter machinery prevents hidden portions of the actor tree from calling queue_relayout() (and having it fully honored).

But that allocation should not be necessary till the actor is shown, and one of the things we do on show() is queueing a relayout/redraw after flagging the actor as visible.

We can simply defer clutter_actor_allocate() calls till that show() call, and leave the needs_allocate and other flags set so we ensure the allocation is properly set then.

This should cut down some needless operations when invisible portions of the actor tree change indirectly due to user interaction, or due to background activity.

Merge request reports