switcherPopup: Fix scrollable check
When commitc6cea277e
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 (cherry picked from commit867cffaf20
)
This commit is contained in:
parent
bb24df2f9d
commit
a7b0e96304
@ -568,10 +568,10 @@ var SwitcherList = GObject.registerClass({
|
|||||||
let leftPadding = this.get_theme_node().get_padding(St.Side.LEFT);
|
let leftPadding = this.get_theme_node().get_padding(St.Side.LEFT);
|
||||||
let rightPadding = this.get_theme_node().get_padding(St.Side.RIGHT);
|
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 childBox = new Clutter.ActorBox();
|
||||||
let scrollable = natScrollViewWidth > width;
|
let scrollable = minListWidth > width;
|
||||||
|
|
||||||
this._scrollView.allocate(contentBox, flags);
|
this._scrollView.allocate(contentBox, flags);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user