From c07a6118a1e507b4bd5e12edf1687878c798d781 Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@nokia.com> Date: Thu, 12 Aug 2010 12:18:11 +0200 Subject: [PATCH] Fix build no longer failing on broken ABLD builds (Symbian) * Make the behaviour less implicit while doing this: Hopefully that will stop it from getting broken again. --- src/plugins/qt4projectmanager/makestep.cpp | 10 ++++++---- src/plugins/qt4projectmanager/makestep.h | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index e49ccb539ce..51514a2a454 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -173,13 +173,16 @@ bool MakeStep::init() setEnabled(true); setArguments(args); + m_gnuMakeParser = 0; + if (bc->qtVersion()->supportsTargetId(Qt4ProjectManager::Constants::S60_DEVICE_TARGET_ID) || bc->qtVersion()->supportsTargetId(Qt4ProjectManager::Constants::S60_EMULATOR_TARGET_ID)) { if (bc->qtVersion()->isBuildWithSymbianSbsV2()) { setOutputParser(new SbsV2Parser); } else { setOutputParser(new AbldParser); - appendOutputParser(new ProjectExplorer::GnuMakeParser(workingDirectory)); + m_gnuMakeParser = new ProjectExplorer::GnuMakeParser(workingDirectory); + appendOutputParser(m_gnuMakeParser); } } else { setOutputParser(new ProjectExplorer::GnuMakeParser(workingDirectory)); @@ -205,9 +208,8 @@ void MakeStep::run(QFutureInterface<bool> & fi) bool MakeStep::processSucceeded(int exitCode, QProcess::ExitStatus status) { // Symbian does retun 0, even on failed makes! So we check for fatal make errors here. - ProjectExplorer::GnuMakeParser *parser = qobject_cast<ProjectExplorer::GnuMakeParser *>(outputParser()); - if (parser && parser->fatalErrors() != 0) - return false; + if (m_gnuMakeParser) + return m_gnuMakeParser->fatalErrors() == 0; return AbstractProcessStep::processSucceeded(exitCode, status); } diff --git a/src/plugins/qt4projectmanager/makestep.h b/src/plugins/qt4projectmanager/makestep.h index 388125bc5d9..ee650b41365 100644 --- a/src/plugins/qt4projectmanager/makestep.h +++ b/src/plugins/qt4projectmanager/makestep.h @@ -41,6 +41,7 @@ QT_END_NAMESPACE namespace ProjectExplorer { class BuildStep; +class GnuMakeParser; class IBuildStepFactory; class Project; } @@ -109,6 +110,7 @@ private: bool m_clean; QStringList m_userArgs; QString m_makeCmd; + ProjectExplorer::GnuMakeParser * m_gnuMakeParser; }; class MakeStepConfigWidget : public ProjectExplorer::BuildStepConfigWidget -- GitLab