From 89b9d079b1dd040f3260feab3830da6fcad0f44f Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Fri, 11 Oct 2013 22:36:49 -0400 Subject: [PATCH] overviewControls: Don't use the child's preferred size to slide from In order for the workspace thumbnails box to have the correct size, we need to constrain the width of the thumbnails box to the height we're given, instead of assuming an unlimited height. https://bugzilla.gnome.org/show_bug.cgi?id=694881 --- js/ui/overviewControls.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js index 556ce3646..8d189975a 100644 --- a/js/ui/overviewControls.js +++ b/js/ui/overviewControls.js @@ -55,9 +55,9 @@ const SlideLayout = new Lang.Class({ vfunc_allocate: function(container, box, flags) { let child = container.get_first_child(); - let [, , natWidth, natHeight] = child.get_preferred_size(); let availWidth = Math.round(box.x2 - box.x1); let availHeight = Math.round(box.y2 - box.y1); + let [, natWidth] = child.get_preferred_width(availHeight); // Align the actor inside the clipped box, as the actor's alignment // flags only determine what to do if the allocated box is bigger @@ -69,7 +69,7 @@ const SlideLayout = new Lang.Class({ actorBox.x1 = alignX; actorBox.x2 = actorBox.x1 + child.x_expand ? availWidth : natWidth; actorBox.y1 = 0; - actorBox.y2 = actorBox.y1 + child.y_expand ? availHeight : natHeight; + actorBox.y2 = actorBox.y1 + availHeight; child.allocate(actorBox, flags); }, @@ -239,11 +239,6 @@ const ThumbnailsSlider = new Lang.Class({ this._thumbnailsBox = thumbnailsBox; - // SlideLayout reads the actor's expand flags to decide - // whether to allocate the natural size to its child, or the whole - // available allocation - this._thumbnailsBox.actor.y_expand = true; - this.actor.request_mode = Clutter.RequestMode.WIDTH_FOR_HEIGHT; this.actor.reactive = true; this.actor.track_hover = true; @@ -327,7 +322,6 @@ const DashSlider = new Lang.Class({ // whether to allocate the natural size to its child, or the whole // available allocation this._dash.actor.x_expand = true; - this._dash.actor.y_expand = true; this.actor.x_align = Clutter.ActorAlign.START; this.actor.y_expand = true;