diff --git a/lib/documentview/documentview.cpp b/lib/documentview/documentview.cpp --- a/lib/documentview/documentview.cpp +++ b/lib/documentview/documentview.cpp @@ -45,6 +45,7 @@ // KDE #include #include +#include // Local #include @@ -927,7 +928,14 @@ void DocumentView::dragEnterEvent(QGraphicsSceneDragDropEvent* event) { QGraphicsWidget::dragEnterEvent(event); - event->setAccepted(event->mimeData()->hasUrls()); + + const auto urls = KUrlMimeData::urlsFromMimeData(event->mimeData()); + bool acceptDrag = !urls.isEmpty(); + if (urls.size() == 1 && urls.first() == url()) { + // Do not allow dragging a single image onto itself + acceptDrag = false; + } + event->setAccepted(acceptDrag); } void DocumentView::dropEvent(QGraphicsSceneDragDropEvent* event)