From: Kai Uwe Broulik Date: Tue, 11 Sep 2018 07:55:30 +0000 (+0200) Subject: [KFileItemModelRolesUpdater] Avoid duplicate indexes to resolve X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/033eb6b3a35ca60ce78ce7ccfeeec26d70205aa8?ds=sidebyside [KFileItemModelRolesUpdater] Avoid duplicate indexes to resolve This avoids requesting a thumbnail twice for certain files, typically the first or last one in a folder. Differential Revision: https://phabricator.kde.org/D15404 --- diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index f4d69dec2..e1db50457 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -1165,14 +1165,18 @@ QList KFileItemModelRolesUpdater::indexesToResolve() const // Add items on the last page. const int beginLastPage = qMax(qMin(endExtendedVisibleRange + 1, count - 1), count - m_maximumVisibleItems); - for (int i = beginLastPage; i < count; ++i) { - result.append(i); + if (beginLastPage < count - 1) { + for (int i = beginLastPage; i < count; ++i) { + result.append(i); + } } // Add items on the first page. const int endFirstPage = qMin(qMax(beginExtendedVisibleRange - 1, 0), m_maximumVisibleItems); - for (int i = 0; i <= endFirstPage; ++i) { - result.append(i); + if (beginExtendedVisibleRange > 0) { + for (int i = 0; i <= endFirstPage; ++i) { + result.append(i); + } } // Continue adding items until ResolveAllItemsLimit is reached.