From 867cffaf2093dbf3cad178356ea4716f02334073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 29 Nov 2019 01:11:16 +0100 Subject: [PATCH] switcherPopup: Fix scrollable check When commit c6cea277e replaced Shell.GenericContainer, the check whether the required width exceeds the avilable width was changed from using the minimum widths of items to the natural width of the scroll view. That doesn't work correctly, as the *natural* width may well exceed the actually used width: SwitcherList bases its width request on children's minimum sizes to force labels to ellipsize. Fix this by using the minimum width of the scroll view's child instead. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1834 --- js/ui/switcherPopup.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index e5efcfaec..48f44c90f 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -575,10 +575,10 @@ var SwitcherList = GObject.registerClass({ let leftPadding = this.get_theme_node().get_padding(St.Side.LEFT); let rightPadding = this.get_theme_node().get_padding(St.Side.RIGHT); - let [, natScrollViewWidth] = this._scrollView.get_preferred_width(height); + let [minListWidth] = this._list.get_preferred_width(height); let childBox = new Clutter.ActorBox(); - let scrollable = natScrollViewWidth > width; + let scrollable = minListWidth > width; this._scrollView.allocate(contentBox, flags);