From 6dc0faceb21ae19e8b18628b6a41183497a64163 Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Wed, 9 Jun 2010 15:08:06 +0200
Subject: [PATCH] Make code thread safe again.

---
 src/plugins/qt4projectmanager/qmakestep.cpp | 15 +++++++++------
 src/plugins/qt4projectmanager/qmakestep.h   |  2 ++
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp
index 12629bf2961..12cbf8ab28b 100644
--- a/src/plugins/qt4projectmanager/qmakestep.cpp
+++ b/src/plugins/qt4projectmanager/qmakestep.cpp
@@ -176,23 +176,26 @@ bool QMakeStep::init()
     setEnvironment(qt4bc->environment());
 
     setOutputParser(new QMakeParser);
+
+    Qt4Project *pro = qt4BuildConfiguration()->qt4Target()->qt4Project();
+    QString proFile = pro->file()->fileName();
+    m_tasks = qt4BuildConfiguration()->qtVersion()->reportIssues(proFile);
+    m_scriptTemplate = pro->rootProjectNode()->projectType() == ScriptTemplate;
+
     return AbstractProcessStep::init();
 }
 
 void QMakeStep::run(QFutureInterface<bool> &fi)
 {
-    Qt4Project *pro = qt4BuildConfiguration()->qt4Target()->qt4Project();
-    if (pro->rootProjectNode()->projectType() == ScriptTemplate) {
+    if (m_scriptTemplate) {
         fi.reportResult(true);
         return;
     }
 
     // Warn on common error conditions:
-    QList<ProjectExplorer::Task> issues =
-            qt4BuildConfiguration()->qtVersion()->reportIssues(qt4BuildConfiguration()->qt4Target()->
-                                                               qt4Project()->file()->fileName());
+
     bool canContinue = true;
-    foreach (const ProjectExplorer::Task &t, issues) {
+    foreach (const ProjectExplorer::Task &t, m_tasks) {
         addTask(t);
         if (t.type == Task::Error)
             canContinue = false;
diff --git a/src/plugins/qt4projectmanager/qmakestep.h b/src/plugins/qt4projectmanager/qmakestep.h
index 79156622d18..bc0de0f4b9a 100644
--- a/src/plugins/qt4projectmanager/qmakestep.h
+++ b/src/plugins/qt4projectmanager/qmakestep.h
@@ -110,6 +110,8 @@ private:
     bool m_forced;
     bool m_needToRunQMake; // set in init(), read in run()
     QStringList m_userArgs;
+    bool m_scriptTemplate;
+    QList<ProjectExplorer::Task> m_tasks;
 };
 
 
-- 
GitLab