Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-updates-src > by-pkgid > 729e5ed3985d1cb0e6822f7032c05376 > files > 1

gnome-shell-3.32.1-2.1.mga7.src.rpm

From 059c729da0c4deaf71caa7a61a8fb91f7bf882d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Mon, 29 Apr 2019 17:53:57 +0000
Subject: [PATCH] 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


(cherry picked from commit d57234bec93dc486dac07d6cbc02c52091c5098a)
---
 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 36e16d3c2..16484850a 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -882,7 +882,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;
-- 
2.18.1