From b4b1c50b7aa72a72b90885bf8d8157b1528175ad Mon Sep 17 00:00:00 2001
From: Christian Stenger <christian.stenger@theqtcompany.com>
Date: Fri, 15 Apr 2016 07:32:20 +0200
Subject: [PATCH] AutoTest: Cancel current parse if we start a full parse

Change-Id: I55dd45c1f39abf1540ec668dd17f878c85c06253
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
---
 src/plugins/autotest/testcodeparser.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/plugins/autotest/testcodeparser.cpp b/src/plugins/autotest/testcodeparser.cpp
index da95b7273ee..d98a5c94a39 100644
--- a/src/plugins/autotest/testcodeparser.cpp
+++ b/src/plugins/autotest/testcodeparser.cpp
@@ -585,6 +585,8 @@ static void performParse(QFutureInterface<TestParseResult> &futureInterface,
     QmlJS::Snapshot qmlSnapshot = QmlJSTools::Internal::ModelManager::instance()->snapshot();
 
     foreach (const QString &file, list) {
+        if (futureInterface.isCanceled())
+            return;
         if (file.endsWith(QLatin1String(".qml"))) {
             checkQmlDocumentForTestCode(futureInterface, qmlSnapshot.document(file));
         } else if (snapshot.contains(file)) {
@@ -674,6 +676,7 @@ bool TestCodeParser::postponed(const QStringList &fileList)
             m_partialUpdatePostponed = false;
             m_postponedFiles.clear();
             m_fullUpdatePostponed = true;
+            Core::ProgressManager::instance()->cancelTasks(Constants::TASK_PARSE);
         } else {
             // partial parse triggered, but full parse is postponed already, ignoring this
             if (m_fullUpdatePostponed)
-- 
GitLab