diff --git a/js/ui/overview.js b/js/ui/overview.js index 04a92b570..84f89b434 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -414,7 +414,7 @@ const Overview = new Lang.Class({ beginItemDrag: function(source) { this.emit('item-drag-begin'); - this._inDrag = true; + this._inItemDrag = true; }, cancelledItemDrag: function(source) { @@ -422,13 +422,15 @@ const Overview = new Lang.Class({ }, endItemDrag: function(source) { + if (!this._inItemDrag) + return; this.emit('item-drag-end'); - this._inDrag = false; + this._inItemDrag = false; }, beginWindowDrag: function(window) { this.emit('window-drag-begin', window); - this._inDrag = true; + this._inWindowDrag = true; }, cancelledWindowDrag: function(window) { @@ -436,8 +438,10 @@ const Overview = new Lang.Class({ }, endWindowDrag: function(window) { + if (!this._inWindowDrag) + return; this.emit('window-drag-end', window); - this._inDrag = false; + this._inWindowDrag = false; }, focusSearch: function() { @@ -481,7 +485,7 @@ const Overview = new Lang.Class({ shouldToggleByCornerOrButton: function() { if (this.animationInProgress) return false; - if (this._inDrag) + if (this._inItemDrag || this._inWindowDrag) return false; if (this._activationTime == 0 || Date.now() / 1000 - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT) return true;