diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 17c1bcce2a8..3006034bc01 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -643,6 +643,7 @@ public: void slotTimeout(); void slotFinished(); + void handleFinished(int exitCode, QProcess::ExitStatus status); void handleError(QProcess::ProcessError error); void clearForRun(); @@ -1361,7 +1362,7 @@ void QtcProcess::beginFeed() void QtcProcess::endFeed() { - d->slotFinished(); + d->handleFinished(0, QProcess::NormalExit); } void QtcProcess::feedStdOut(const QByteArray &data) @@ -1714,8 +1715,12 @@ void QtcProcessPrivate::slotTimeout() void QtcProcessPrivate::slotFinished() { - const int exitCode = m_process->exitCode(); - const QProcess::ExitStatus status = m_process->exitStatus(); + handleFinished(m_process->exitCode(), m_process->exitStatus()); + q->emitFinished(); +} + +void QtcProcessPrivate::handleFinished(int exitCode, QProcess::ExitStatus status) +{ if (debug) qDebug() << Q_FUNC_INFO << exitCode << status; m_hangTimerCount = 0; @@ -1735,8 +1740,6 @@ void QtcProcessPrivate::slotFinished() m_stdOut.handleRest(); m_stdErr.handleRest(); - - q->emitFinished(); } void QtcProcessPrivate::handleError(QProcess::ProcessError error)