overview: Don't allow exiting the overview if we have a DND drag

Otherwise, people can drag app icons or window thumbnails out of
the overview, and it just looks weird.

https://bugzilla.gnome.org/show_bug.cgi?id=698484
This commit is contained in:
Jasper St. Pierre 2013-03-27 13:31:43 -04:00 committed by Ray Strode
parent 61b1679719
commit c4f744d7ec

View File

@ -461,6 +461,7 @@ const Overview = new Lang.Class({
beginItemDrag: function(source) { beginItemDrag: function(source) {
this.emit('item-drag-begin'); this.emit('item-drag-begin');
this._inDrag = true;
}, },
cancelledItemDrag: function(source) { cancelledItemDrag: function(source) {
@ -469,10 +470,12 @@ const Overview = new Lang.Class({
endItemDrag: function(source) { endItemDrag: function(source) {
this.emit('item-drag-end'); this.emit('item-drag-end');
this._inDrag = false;
}, },
beginWindowDrag: function(source) { beginWindowDrag: function(source) {
this.emit('window-drag-begin'); this.emit('window-drag-begin');
this._inDrag = true;
}, },
cancelledWindowDrag: function(source) { cancelledWindowDrag: function(source) {
@ -481,6 +484,7 @@ const Overview = new Lang.Class({
endWindowDrag: function(source) { endWindowDrag: function(source) {
this.emit('window-drag-end'); this.emit('window-drag-end');
this._inDrag = false;
}, },
// show: // show:
@ -609,6 +613,8 @@ const Overview = new Lang.Class({
shouldToggleByCornerOrButton: function() { shouldToggleByCornerOrButton: function() {
if (this.animationInProgress) if (this.animationInProgress)
return false; return false;
if (this._inDrag)
return false;
if (this._activationTime == 0 || Date.now() / 1000 - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT) if (this._activationTime == 0 || Date.now() / 1000 - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT)
return true; return true;
return false; return false;