From e398092251d21fcefca843bcaa7ec7e9334fa0a3 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 14 Apr 2022 11:03:32 +0200 Subject: [PATCH] TerminalRunner: Connect to QtcProcess::done() signal Instead of connecting to errorOccurred() and finished() signals. Change-Id: I3c96c61fab4dd23e75b773d6347eb3aa62ce3dd0 Reviewed-by: Reviewed-by: hjk --- src/plugins/debugger/terminal.cpp | 13 +++++++------ src/plugins/debugger/terminal.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/plugins/debugger/terminal.cpp b/src/plugins/debugger/terminal.cpp index 434b7550269..55d6fd265e9 100644 --- a/src/plugins/debugger/terminal.cpp +++ b/src/plugins/debugger/terminal.cpp @@ -198,12 +198,10 @@ void TerminalRunner::start() m_stubProc->setTerminalMode(HostOsInfo::isWindowsHost() ? TerminalMode::Suspend : TerminalMode::Debug); - connect(m_stubProc, &QtcProcess::errorOccurred, - this, &TerminalRunner::stubError); connect(m_stubProc, &QtcProcess::started, this, &TerminalRunner::stubStarted); - connect(m_stubProc, &QtcProcess::finished, - this, &TerminalRunner::reportDone); + connect(m_stubProc, &QtcProcess::done, + this, &TerminalRunner::stubDone); m_stubProc->setEnvironment(stub.environment); m_stubProc->setWorkingDirectory(stub.workingDirectory); @@ -227,9 +225,12 @@ void TerminalRunner::stubStarted() 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 diff --git a/src/plugins/debugger/terminal.h b/src/plugins/debugger/terminal.h index 6534e5983e1..1c316d11ed7 100644 --- a/src/plugins/debugger/terminal.h +++ b/src/plugins/debugger/terminal.h @@ -85,7 +85,7 @@ private: void stop() final; void stubStarted(); - void stubError(); + void stubDone(); Utils::QtcProcess *m_stubProc = nullptr; std::function m_stubRunnable;