diff options
Diffstat (limited to 'src/panels/folders/folderspanel.cpp')
| -rw-r--r-- | src/panels/folders/folderspanel.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp index 275cd7772..bb2198d48 100644 --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -259,7 +259,15 @@ void FoldersPanel::slotViewContextMenuRequested(const QPointF& pos) void FoldersPanel::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event) { if (index >= 0) { - const KFileItem destItem = fileItemModel()->fileItem(index); + KFileItemModel* model = fileItemModel(); + KFileItem destItem = model->fileItem(index); + if (destItem.isNull()) { + destItem = model->rootItem(); + if (destItem.isNull()) { + kWarning() << "No destination item available for drop operation."; + return; + } + } QDropEvent dropEvent(event->pos().toPoint(), event->possibleActions(), @@ -267,7 +275,7 @@ void FoldersPanel::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* eve event->buttons(), event->modifiers()); - DragAndDropHelper::dropUrls(destItem, url(), &dropEvent); + DragAndDropHelper::dropUrls(destItem, &dropEvent); } } |
