diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index e49ccb539ceb2038abfe600c783e60a87c0fb8ff..51514a2a4544065799f6c0c38d45606ca71131e1 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 388125bc5d9d727a2e675caf6011f431074a4756..ee650b413656ad55854f17821322fb563fdc2bb8 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