diff options
Diffstat (limited to 'src/panels')
| -rw-r--r-- | src/panels/folders/folderspanel.cpp | 12 | ||||
| -rw-r--r-- | src/panels/places/placespanel.cpp | 3 |
2 files changed, 12 insertions, 3 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); } } diff --git a/src/panels/places/placespanel.cpp b/src/panels/places/placespanel.cpp index 902c436cf..6f522fad2 100644 --- a/src/panels/places/placespanel.cpp +++ b/src/panels/places/placespanel.cpp @@ -48,7 +48,8 @@ void PlacesPanel::mousePressEvent(QMouseEvent* event) void PlacesPanel::slotUrlsDropped(const KUrl& dest, QDropEvent* event, QWidget* parent) { Q_UNUSED(parent); - DragAndDropHelper::dropUrls(KFileItem(), dest, event); + const KFileItem destItem(KFileItem::Unknown, KFileItem::Unknown, dest); + DragAndDropHelper::dropUrls(destItem, event); } void PlacesPanel::emitExtendedUrlChangedSignal(const KUrl& url) |
