diff options
Diffstat (limited to 'src/kitemviews/kitemlistselectionmanager.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistselectionmanager.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/kitemviews/kitemlistselectionmanager.cpp b/src/kitemviews/kitemlistselectionmanager.cpp index 79c3370b4..383914df0 100644 --- a/src/kitemviews/kitemlistselectionmanager.cpp +++ b/src/kitemviews/kitemlistselectionmanager.cpp @@ -291,12 +291,15 @@ void KItemListSelectionManager::itemsRemoved(const KItemRangeList& itemRanges) // 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 = indexAfterRangesRemoving(m_currentItem, itemRanges); - if (m_currentItem < 0) { - m_currentItem = qMin(previousCurrent, m_model->count() - 1); - } if (m_currentItem != previousCurrent) { emit currentChanged(m_currentItem, previousCurrent); } + + if (m_currentItem < 0) { + // The current item has been removed. + m_currentItem = qMin(previousCurrent, m_model->count() - 1); + emit currentChanged(m_currentItem, -1); + } } // Update the anchor item |
