From 5e5f236d00eb80b4f3f2f1681bd039b22325d35e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9ven=20Car?= Date: Fri, 19 Feb 2021 15:04:23 +0100 Subject: [PATCH] KFileItemModelRolesUpdater: Avoid refreshing items when we receive their content count It concerns the detail view. It can cause multiple preview to be generated for the same file. This is visible for directories whose icons use a random value for their inner files thumbnails. Only the view needs to be updated for this model change. --- src/kitemviews/kfileitemmodelrolesupdater.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index ba9a8aeaa7..a603a94dab 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -782,7 +782,11 @@ void KFileItemModelRolesUpdater::slotDirectoryContentsCountReceived(const QStrin data.insert("isExpandable", count > 0); } + disconnect(m_model, &KFileItemModel::itemsChanged, + this, &KFileItemModelRolesUpdater::slotItemsChanged); m_model->setData(index, data); + connect(m_model, &KFileItemModel::itemsChanged, + this, &KFileItemModelRolesUpdater::slotItemsChanged); } } }