panel: Don't chain up to parent's allocate
The top bar handles allocating all its children itself, so there's little value in chaining up to st_widget_allocate() and get the default layout manager allocating all children again (and possibly differently). If this happens, we end up with an infinite allocation cycle with corresponding performance penalty. Fix this by just doing and what Shell.GenericContainer did before commit286ffbe2b6
replaced it, and not chain up to StWidget. Thanks to Robert Mader for debugging the issue. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1054 (cherry picked from commitd57234bec9
)
This commit is contained in:
parent
2d0e84469e
commit
059c729da0
@ -882,7 +882,7 @@ class Panel extends St.Widget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
vfunc_allocate(box, flags) {
|
vfunc_allocate(box, flags) {
|
||||||
super.vfunc_allocate(box, flags);
|
this.set_allocation(box, flags);
|
||||||
|
|
||||||
let allocWidth = box.x2 - box.x1;
|
let allocWidth = box.x2 - box.x1;
|
||||||
let allocHeight = box.y2 - box.y1;
|
let allocHeight = box.y2 - box.y1;
|
||||||
|
Loading…
Reference in New Issue
Block a user