From 033eb6b3a35ca60ce78ce7ccfeeec26d70205aa8 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Tue, 11 Sep 2018 09:55:30 +0200 Subject: [PATCH] [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 --- src/kitemviews/kfileitemmodelrolesupdater.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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. -- 2.47.3