From 7f6b5a3bd45e2dccf2011fffb0a2c800e95b7165 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 6 Apr 2022 12:07:48 +0200 Subject: [PATCH] SshDeviceProcess: Emit done() signal Emit done() signal along with errorOccurred(FailedToStart) and finished() signals. Change-Id: I52db46e1c7fd44434514bac62b3df8eb0b9a4dc2 Reviewed-by: Reviewed-by: hjk --- .../projectexplorer/devicesupport/sshdeviceprocess.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp index 8d9c44b5e39..ab8e822868d 100644 --- a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp +++ b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp @@ -201,6 +201,7 @@ void SshDeviceProcess::handleConnected() this, &SshDeviceProcess::handleProcessStarted); connect(d->remoteProcess.get(), &QtcProcess::done, this, [this] { handleProcessFinished(d->remoteProcess->errorString()); + emit done(); }); connect(d->remoteProcess.get(), &QtcProcess::readyReadStandardOutput, this, &QtcProcess::readyReadStandardOutput); @@ -227,10 +228,12 @@ void SshDeviceProcess::handleDisconnected() case SshDeviceProcessPrivate::Connecting: case SshDeviceProcessPrivate::Connected: emit errorOccurred(QProcess::FailedToStart); + emit done(); break; case SshDeviceProcessPrivate::ProcessRunning: d->exitStatus = QProcess::CrashExit; emit finished(); + emit done(); default: break; } @@ -263,6 +266,7 @@ void SshDeviceProcess::handleKillOperationFinished(const QString &errorMessage) d->errorMessage = tr("Failed to kill remote process: %1").arg(errorMessage); d->setState(SshDeviceProcessPrivate::Inactive); emit finished(); + emit done(); } void SshDeviceProcess::handleKillOperationTimeout() @@ -271,6 +275,7 @@ void SshDeviceProcess::handleKillOperationTimeout() d->errorMessage = tr("Timeout waiting for remote process to finish."); d->setState(SshDeviceProcessPrivate::Inactive); emit finished(); + emit done(); } QString SshDeviceProcess::fullCommandLine() const @@ -290,6 +295,7 @@ void SshDeviceProcess::SshDeviceProcessPrivate::doSignal(Signal signal) errorMessage = tr("Terminated by request."); setState(SshDeviceProcessPrivate::Inactive); emit q->errorOccurred(QProcess::FailedToStart); + emit q->done(); break; case SshDeviceProcessPrivate::Connected: case SshDeviceProcessPrivate::ProcessRunning: