layout: Mark chrome container as NO_LAYOUT

Showing and hiding children does not affect the allocation of the uiGroup
nor its other children. We can avoid full relayout/redraw in those
situations.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/197
This commit is contained in:
Carlos Garnacho 2018-08-10 21:37:48 +02:00 committed by Florian Müllner
parent 2f7377b250
commit 73d8c82640

View File

@ -204,6 +204,7 @@ var LayoutManager = new Lang.Class({
// Set up stage hierarchy to group all UI actors under one container. // Set up stage hierarchy to group all UI actors under one container.
this.uiGroup = new Shell.GenericContainer({ name: 'uiGroup' }); this.uiGroup = new Shell.GenericContainer({ name: 'uiGroup' });
this.uiGroup.set_flags(Clutter.ActorFlags.NO_LAYOUT);
this.uiGroup.connect('allocate', (actor, box, flags) => { this.uiGroup.connect('allocate', (actor, box, flags) => {
let children = actor.get_children(); let children = actor.get_children();
for (let i = 0; i < children.length; i++) for (let i = 0; i < children.length; i++)