From b96d7b9bd880e87ecb1fb480b36e0f46bff482f5 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Thu, 22 Sep 2011 12:59:31 +0200 Subject: [PATCH] Make Qt4ProejctManager::MakeStep::run multithreading safe Change-Id: I416360d35681d2721878cb9fefd861d6e1f209b4 Reviewed-on: http://codereview.qt-project.org/5451 Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/abstractprocessstep.cpp | 5 +++++ src/plugins/projectexplorer/abstractprocessstep.h | 2 +- src/plugins/qt4projectmanager/makestep.cpp | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index ad136b76e76..b01460aef4f 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -152,6 +152,11 @@ ProjectExplorer::IOutputParser *AbstractProcessStep::outputParser() const return m_outputParserChain; } +bool AbstractProcessStep::ignoreReturnValue() +{ + return m_ignoreReturnValue; +} + /*! \brief If ignoreReturnValue is set to true, then the abstractprocess step will return success even if the return value indicates otherwise. diff --git a/src/plugins/projectexplorer/abstractprocessstep.h b/src/plugins/projectexplorer/abstractprocessstep.h index cc6177dc002..287165d94a0 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.h +++ b/src/plugins/projectexplorer/abstractprocessstep.h @@ -68,12 +68,12 @@ public: ProcessParameters *processParameters() { return &m_param; } + bool ignoreReturnValue(); void setIgnoreReturnValue(bool b); void setOutputParser(ProjectExplorer::IOutputParser *parser); void appendOutputParser(ProjectExplorer::IOutputParser *parser); ProjectExplorer::IOutputParser *outputParser() const; - protected: AbstractProcessStep(BuildStepList *bsl, const QString &id); AbstractProcessStep(BuildStepList *bsl, AbstractProcessStep *bs); diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index 5045d40cefb..e0369b3070c 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -229,9 +229,9 @@ void MakeStep::run(QFutureInterface & fi) } if (!QFileInfo(m_makeFileToCheck).exists()) { - if (!m_clean) + if (!ignoreReturnValue()) emit addOutput(tr("Cannot find Makefile. Check your build settings."), BuildStep::MessageOutput); - fi.reportResult(m_clean); + fi.reportResult(ignoreReturnValue()); return; }