appDisplay: Consider drop targets on !currentPage as invalid

The iconGrid's getDropTarget() API supports dropping items to adjacent
pages just fine, but in the AppDisplay, we clip the grid and don't show
those adjacent pages. That doesn't stop getDropTarget() from picking
drop targets which are on adjacent pages though, so we need to filter
those out in the layer above.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2348>
This commit is contained in:
Jonas Dreßler 2022-06-24 13:11:31 +02:00 committed by Marge Bot
parent 2e6fd8b730
commit a69d99527d

View File

@ -798,6 +798,7 @@ var BaseAppView = GObject.registerClass({
// Dragging over invalid parts of the grid cancels the timeout // Dragging over invalid parts of the grid cancels the timeout
if (item === source || if (item === source ||
page !== this._grid.currentPage ||
dragLocation === IconGrid.DragLocation.INVALID || dragLocation === IconGrid.DragLocation.INVALID ||
dragLocation === IconGrid.DragLocation.ON_ICON) { dragLocation === IconGrid.DragLocation.ON_ICON) {
this._removeDelayedMove(); this._removeDelayedMove();