diff --git a/libs/image/kis_updater_context.cpp b/libs/image/kis_updater_context.cpp --- a/libs/image/kis_updater_context.cpp +++ b/libs/image/kis_updater_context.cpp @@ -185,7 +185,18 @@ void KisUpdaterContext::waitForDone() { - m_threadPool.waitForDone(); + lock(); + + bool allStopped = true; + do { + allStopped = true; + Q_FOREACH (KisUpdateJobItem *item, m_jobs) { + if (item->isRunning()) + allStopped = false; + } + } while (!allStopped); + + unlock(); } bool KisUpdaterContext::walkerIntersectsJob(KisBaseRectsWalkerSP walker,