From 99805d3c3e05c795d08b4a40d6f83403b5be929d Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Wed, 11 Mar 2009 12:21:02 +0100 Subject: [PATCH] Prune the list of the futures. --- src/plugins/cpptools/cppmodelmanager.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index c85233e0c25..f02779acd70 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -712,6 +712,17 @@ QFuture CppModelManager::refreshSourceFiles(const QStringList &sourceFiles QFuture result = QtConcurrent::run(&CppModelManager::parse, preproc, sourceFiles); + if (m_synchronizer.futures().size() > 10) { + QList > futures = m_synchronizer.futures(); + + m_synchronizer.clearFutures(); + + foreach (QFuture future, futures) { + if (! (future.isFinished() || future.isCanceled())) + m_synchronizer.addFuture(future); + } + } + m_synchronizer.addFuture(result); if (sourceFiles.count() > 1) {