[gnome-shell/wip/fmuellner/avoid-chain-up] panel: Don't chain up to parent's allocate



commit d57234bec93dc486dac07d6cbc02c52091c5098a
Author: Florian Müllner <fmuellner gnome org>
Date:   Mon Apr 29 17:53:57 2019 +0000

    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 commit 286ffbe2b6 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

 js/ui/panel.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 9790d4843..7fe09fe50 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -877,7 +877,7 @@ class Panel extends St.Widget {
     }
 
     vfunc_allocate(box, flags) {
-        super.vfunc_allocate(box, flags);
+        this.set_allocation(box, flags);
 
         let allocWidth = box.x2 - box.x1;
         let allocHeight = box.y2 - box.y1;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]