commit 3d02dc2a426231c27d21a53895b2686651ee2fc3
Author: Joost Verdoorn <joost@Monster.(none)>
Date:   Mon Mar 12 00:03:47 2012 +0100

    overview: Don't show workspaces when the overview is entered
    and the user has the pointer on the right-side of the screen.
    This usually doesn't mean the user wants to open the workspaces 
    view, but probably just a coincidence.

diff --git a/js/ui/overview.js b/js/ui/overview.js
index 7858c34..2cff5ac 100644
--- a/js/ui/overview.js
+++ b/js/ui/overview.js
@@ -620,6 +620,14 @@ const Overview = new Lang.Class({
         this._coverPane.raise_top();
         this._coverPane.show();
         this.emit('showing');
+        
+        let [mouseX, mouseY] = global.get_pointer();         
+        let [wsX, wsY] = this._workspacesDisplay.controls.get_transformed_position();        
+        let [vsX, vsY] = this._viewSelector.actor.get_transformed_position();
+        let [vsW, vsH] = this._viewSelector.actor.get_transformed_size();        
+        
+        if(mouseX > wsX && mouseY > wsY && mouseY < vsY + vsH)
+            this._workspacesDisplay.skipHover = true;  
     },
 
     // showTemporarily:
diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js
index 95c3cd2..3112dba 100644
--- a/js/ui/workspacesView.js
+++ b/js/ui/workspacesView.js
@@ -506,6 +506,8 @@ const WorkspacesDisplay = new Lang.Class({
                                          this._workspacesOnlyOnPrimaryChanged));
         this._workspacesOnlyOnPrimaryChanged();
 
+        this.skipHover = false;        
+        
         this._inDrag = false;
         this._cancelledDrag = false;
 
@@ -996,7 +998,11 @@ const WorkspacesDisplay = new Lang.Class({
     },
 
     _onControlsHoverChanged: function() {
-        this._updateZoom();
+        if(!this.controls.hover)
+            this.skipHover = false;
+            
+        if(!this.skipHover)
+            this._updateZoom();
     },
 
     _dragBegin: function() {
