From f11456452333df76e80f8db49ed4da91e6cc9b32 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Thu, 6 Jun 2013 08:49:12 +0200 Subject: [PATCH] Make calls to resolveNextPendingRoles and resolveNextSortRole delayed This prevents that functions that call these indirectly call themselves recursively and cause trouble. BUG: 320791 --- src/kitemviews/kfileitemmodelrolesupdater.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index 644605c57..9bc288df1 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -898,12 +898,12 @@ void KFileItemModelRolesUpdater::startUpdating() startPreviewJob(itemsToResolve); // Determine the icons asynchronously as fast as possible. - resolveNextPendingRoles(); + QTimer::singleShot(0, this, SLOT(resolveNextPendingRoles())); } else { m_pendingIndexes = indexes; // Trigger the asynchronous resolving of all roles. m_state = ResolvingAllRoles; - resolveNextPendingRoles(); + QTimer::singleShot(0, this, SLOT(resolveNextPendingRoles())); } } @@ -1002,7 +1002,7 @@ void KFileItemModelRolesUpdater::updateChangedItems() // asynchronous determination of the sort role. killPreviewJob(); m_state = ResolvingSortRole; - resolveNextSortRole(); + QTimer::singleShot(0, this, SLOT(resolveNextSortRole())); } return; @@ -1050,7 +1050,7 @@ void KFileItemModelRolesUpdater::updateChangedItems() if (!resolvingInProgress) { // Trigger the asynchronous resolving of the changed roles. m_state = ResolvingAllRoles; - resolveNextPendingRoles(); + QTimer::singleShot(0, this, SLOT(resolveNextPendingRoles())); } } } -- 2.47.3