From 9f53ba5795917935b1b64ca0bdf78a17956f5618 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 2 Dec 2022 14:30:42 +0100 Subject: [PATCH] AbstractProcessStep: Devirtualize processStartupFailed() Since the base implementation of processStartupFailed() is always calling finish(false), we intercept this inside QMakeStep::finish override and set m_needToRunQMake accordingly instead of overriding processStartupFailed. Change-Id: I1d42d0034521dfad55e5a7e75a2ab234ca76c88d Reviewed-by: hjk Reviewed-by: --- src/plugins/projectexplorer/abstractprocessstep.h | 2 +- src/plugins/qmakeprojectmanager/qmakestep.cpp | 8 ++------ src/plugins/qmakeprojectmanager/qmakestep.h | 1 - 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/plugins/projectexplorer/abstractprocessstep.h b/src/plugins/projectexplorer/abstractprocessstep.h index e815f1d0c5a..586267c44fe 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.h +++ b/src/plugins/projectexplorer/abstractprocessstep.h @@ -45,11 +45,11 @@ protected: void setDisplayedParameters(ProcessParameters *params); virtual void finish(bool success); - virtual void processStartupFailed(); virtual void stdOutput(const QString &output); virtual void stdError(const QString &output); private: + void processStartupFailed(); ProcessParameters *displayedParameters() const; virtual void processFinished(bool success); void handleProcessDone(); diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index bcb87214a22..5bf4acbaa8e 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -294,12 +294,6 @@ void QMakeStep::setForced(bool b) m_forced = b; } -void QMakeStep::processStartupFailed() -{ - m_needToRunQMake = true; - AbstractProcessStep::processStartupFailed(); -} - void QMakeStep::processFinished(bool success) { if (!success) @@ -309,6 +303,8 @@ void QMakeStep::processFinished(bool success) void QMakeStep::finish(bool success) { + if (!success) + m_needToRunQMake = true; m_wasSuccess = success; runNextCommand(); } diff --git a/src/plugins/qmakeprojectmanager/qmakestep.h b/src/plugins/qmakeprojectmanager/qmakestep.h index 03e8250ea2d..1aef801a937 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.h +++ b/src/plugins/qmakeprojectmanager/qmakestep.h @@ -137,7 +137,6 @@ public: protected: bool fromMap(const QVariantMap &map) override; - void processStartupFailed() override; private: void finish(bool success) override;