diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp index 24134e4da08..b8f3c565f6d 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.cpp +++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp @@ -825,6 +825,8 @@ void ModelManager::parse(QFutureInterface &future, QSet newLibraries; for (int i = 0; i < files.size(); ++i) { + if (future.isCanceled()) + break; future.setProgressValue(qreal(i) / files.size() * progressRange); const QString fileName = files.at(i); diff --git a/src/plugins/qmljstools/qmljsmodelmanager.h b/src/plugins/qmljstools/qmljsmodelmanager.h index f9f4121e39a..e333e822e25 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.h +++ b/src/plugins/qmljstools/qmljsmodelmanager.h @@ -158,8 +158,6 @@ private: QmlJS::QmlLanguageBundles m_activeBundles; QmlJS::QmlLanguageBundles m_extendedBundles; - QFutureSynchronizer m_synchronizer; - QTimer *m_updateCppQmlTypesTimer; QTimer *m_asyncResetTimer; QHash > m_queuedCppDocuments; @@ -173,6 +171,8 @@ private: QMap m_projects; PluginDumper *m_pluginDumper; + + QFutureSynchronizer m_synchronizer; }; } // namespace Internal