diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 5c5e70c98..5eff0c3b9 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -685,6 +685,7 @@ class AppDisplay extends BaseAppView { Main.overview.connect('item-drag-begin', this._onDragBegin.bind(this)); Main.overview.connect('item-drag-end', this._onDragEnd.bind(this)); + Main.overview.connect('item-drag-cancelled', this._onDragCancelled.bind(this)); this.connect('destroy', this._onDestroy.bind(this)); @@ -1073,6 +1074,17 @@ class AppDisplay extends BaseAppView { this._resetOvershoot(); } + _onDragCancelled(_overview, source) { + const view = _getViewFromIcon(source); + + if (view instanceof FolderView) + return; + + // At this point, the positions aren't stored yet, thus _redisplay() + // will move all items to their original positions + this._redisplay(); + } + _canAccept(source) { return source instanceof AppViewItem; }