]> cloud.milkyroute.net Git - dolphin.git/commitdiff
use the same bound check as setCurrentItem when setting m_currentItem manually
authorFabian Kosmale <0inkane@gmail.com>
Fri, 6 Apr 2018 15:57:38 +0000 (17:57 +0200)
committerFabian Kosmale <0inkane@gmail.com>
Sun, 8 Apr 2018 09:44:26 +0000 (11:44 +0200)
Summary:
This patch basically adds the check that would normally be done to the
itemInserted method, which seems to be good idea in general.
However, the fact that this is needed there might be an indicator of a logic bug
in the function – though, as I'm not familiar with the code base I cannot judge
this.

Test Plan:
Without this patch, dolphin when started from a terminal prints the following
warning (number can be different):
qt.accessibility.core: Cannot create accessible child interface for object:  PlacesView(0x563e863e35c0)  index:  10
After applying the patch, the warning doesn't appear anymore. Dolphin still
works still as it did before.

Reviewers: elvisangelaccio, #dolphin

Reviewed By: elvisangelaccio

Subscribers: #dolphin

Differential Revision: https://phabricator.kde.org/D11990

src/kitemviews/kitemlistselectionmanager.cpp

index efc256e1e6f97186451aa28fcce8ecda0a7e11a8..f5e097c0256eedebb467a828f159732f96f647fa 100644 (file)
@@ -235,6 +235,9 @@ void KItemListSelectionManager::itemsInserted(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 += inc;
+        if (m_currentItem >= m_model->count()) {
+            m_currentItem = -1;
+        }
         emit currentChanged(m_currentItem, previousCurrent);
     }