diff --git a/src/lib/bookmarks/bookmarkstoolbar.cpp b/src/lib/bookmarks/bookmarkstoolbar.cpp index 294f524de..2d5429b9f 100644 --- a/src/lib/bookmarks/bookmarkstoolbar.cpp +++ b/src/lib/bookmarks/bookmarkstoolbar.cpp @@ -269,10 +269,15 @@ void BookmarksToolbar::dropEvent(QDropEvent* e) if (mime->hasFormat(BookmarksButtonMimeData::mimeType())) { const auto* bookmarkMime = static_cast(mime); bookmark = bookmarkMime->item(); - const int initialIndex = bookmark->parent()->children().indexOf(bookmark); - BookmarksToolbarButton* current = buttonAt(m_dropPos); - if (initialIndex < m_layout->indexOf(current)) { - row -= 1; + + if (row < 0) { + row = parent->children().count() - 1; + } + else { + const int initialIndex = bookmark->parent()->children().indexOf(bookmark); + if ((row > 0) && (initialIndex < row)) { + row -= 1; + } } } else { const QUrl url = mime->urls().at(0);