diff options
Diffstat (limited to 'src/kitemviews/kfileitemmodelrolesupdater.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 38fa58436..33cf6341c 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -281,6 +281,14 @@ void KFileItemModelRolesUpdater::setPaused(bool paused) void KFileItemModelRolesUpdater::setRoles(const QSet<QByteArray> &roles) { if (m_roles != roles) { + const QSet<QByteArray> addedRoles = roles - m_roles; + for (const QByteArray &role : addedRoles) { + if (m_resolvableRoles.contains(role)) { + m_finishedItems.clear(); + break; + } + } + m_roles = roles; #if HAVE_BALOO |
