diff options
Diffstat (limited to 'src/widgets/itemviews/qlistview.cpp')
-rw-r--r-- | src/widgets/itemviews/qlistview.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index 7e472d37c2..ce7b98d780 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -2901,8 +2901,10 @@ bool QIconModeViewBase::filterStartDrag(Qt::DropActions supportedActions) Qt::DropAction action = drag->exec(supportedActions, dd->defaultDropAction); draggedItems.clear(); // delete item, unless it has already been moved internally (see filterDropEvent) - if (action == Qt::MoveAction && !dd->dropEventMoved) - dd->clearOrRemove(); + if (action == Qt::MoveAction && !dd->dropEventMoved) { + if (dd->dragDropMode != QAbstractItemView::InternalMove || drag->target() == qq->viewport()) + dd->clearOrRemove(); + } dd->dropEventMoved = false; } return true; |