TerminalRunner: Connect to QtcProcess::done() signal

Instead of connecting to errorOccurred() and finished() signals.

Change-Id: I3c96c61fab4dd23e75b773d6347eb3aa62ce3dd0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2022-04-14 11:03:32 +02:00
parent 44c7020651
commit e398092251
2 changed files with 8 additions and 7 deletions

View File

@@ -198,12 +198,10 @@ void TerminalRunner::start()
m_stubProc->setTerminalMode(HostOsInfo::isWindowsHost() m_stubProc->setTerminalMode(HostOsInfo::isWindowsHost()
? TerminalMode::Suspend : TerminalMode::Debug); ? TerminalMode::Suspend : TerminalMode::Debug);
connect(m_stubProc, &QtcProcess::errorOccurred,
this, &TerminalRunner::stubError);
connect(m_stubProc, &QtcProcess::started, connect(m_stubProc, &QtcProcess::started,
this, &TerminalRunner::stubStarted); this, &TerminalRunner::stubStarted);
connect(m_stubProc, &QtcProcess::finished, connect(m_stubProc, &QtcProcess::done,
this, &TerminalRunner::reportDone); this, &TerminalRunner::stubDone);
m_stubProc->setEnvironment(stub.environment); m_stubProc->setEnvironment(stub.environment);
m_stubProc->setWorkingDirectory(stub.workingDirectory); m_stubProc->setWorkingDirectory(stub.workingDirectory);
@@ -227,9 +225,12 @@ void TerminalRunner::stubStarted()
reportStarted(); reportStarted();
} }
void TerminalRunner::stubError() void TerminalRunner::stubDone()
{ {
reportFailure(m_stubProc->errorString()); if (m_stubProc->error() != QProcess::UnknownError)
reportFailure(m_stubProc->errorString());
if (m_stubProc->error() != QProcess::FailedToStart)
reportDone();
} }
} // namespace Internal } // namespace Internal

View File

@@ -85,7 +85,7 @@ private:
void stop() final; void stop() final;
void stubStarted(); void stubStarted();
void stubError(); void stubDone();
Utils::QtcProcess *m_stubProc = nullptr; Utils::QtcProcess *m_stubProc = nullptr;
std::function<ProjectExplorer::Runnable()> m_stubRunnable; std::function<ProjectExplorer::Runnable()> m_stubRunnable;