From 02ee6f69b3b0f048a3f0a04bb61d831e13d06fa5 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Sat, 8 Aug 2009 00:31:47 -0400 Subject: [PATCH] Fix updating of workspace frame actor Both the position and size of the frame actor depend on the scale of the workspace, so update them both when the scale changes. On the other hand, the the frame actor doesn't need to be repositioned when the workspace moves (since it is relative to the workspace). We do base the frame position of the desktop actor, but that will presumably stay fixed (at 0,0) in most all cases. http://bugzilla.gnome.org/show_bug.cgi?id=591122 --- js/ui/workspaces.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/js/ui/workspaces.js b/js/ui/workspaces.js index db15e2bbe..72dbbfdc9 100644 --- a/js/ui/workspaces.js +++ b/js/ui/workspaces.js @@ -411,13 +411,11 @@ Workspace.prototype = { this._desktop.actor.height + 2 * FRAME_SIZE / this.actor.scale_y); this._frame.lower_bottom(); - this._framePosHandler = this.actor.connect('notify::x', Lang.bind(this, this._updateFramePosition)); - this._frameSizeHandler = this.actor.connect('notify::scale-x', Lang.bind(this, this._updateFrameSize)); + this._framePosHandler = this.actor.connect('notify::scale-x', Lang.bind(this, this._updateFramePosition)); } else { if (!this._frame) return; this.actor.disconnect(this._framePosHandler); - this.actor.disconnect(this._frameSizeHandler); this._frame.destroy(); this._frame = null; } @@ -426,9 +424,6 @@ Workspace.prototype = { _updateFramePosition : function() { this._frame.set_position(this._desktop.actor.x - FRAME_SIZE / this.actor.scale_x, this._desktop.actor.y - FRAME_SIZE / this.actor.scale_y); - }, - - _updateFrameSize : function() { this._frame.set_size(this._desktop.actor.width + 2 * FRAME_SIZE / this.actor.scale_x, this._desktop.actor.height + 2 * FRAME_SIZE / this.actor.scale_y); },