X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/031b1a4c19945456a389ddb00630aadf95b0c09a..854b0acd1a259fab40e42c8470bb144c955dcc5a:/src/kitemviews/kitemlistselectionmanager.cpp diff --git a/src/kitemviews/kitemlistselectionmanager.cpp b/src/kitemviews/kitemlistselectionmanager.cpp index fb279796f..448e79293 100644 --- a/src/kitemviews/kitemlistselectionmanager.cpp +++ b/src/kitemviews/kitemlistselectionmanager.cpp @@ -293,15 +293,19 @@ void KItemListSelectionManager::itemsRemoved(const KItemRangeList& itemRanges) if (currentItem < itemRange.index) { break; } + if (currentItem >= itemRange.index + itemRange.count) { currentItem -= itemRange.count; - } else if (currentItem >= m_model->count()) { + } + + if (currentItem >= m_model->count()) { currentItem = m_model->count() - 1; } } // Calling setCurrentItem would trigger the selectionChanged signal, but we want to // emit it only once in this function -> change the current item manually and emit currentChanged m_currentItem = currentItem; + Q_ASSERT(m_currentItem < m_model->count()); emit currentChanged(m_currentItem, previousCurrent); }