aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/ssh/sshremoteprocess.cpp9
-rw-r--r--src/libs/ssh/sshremoteprocess.h1
-rw-r--r--src/libs/ssh/sshremoteprocessrunner.cpp10
-rw-r--r--src/libs/utils/qtcprocess.cpp17
-rw-r--r--src/libs/utils/qtcprocess.h3
5 files changed, 20 insertions, 20 deletions
diff --git a/src/libs/ssh/sshremoteprocess.cpp b/src/libs/ssh/sshremoteprocess.cpp
index 088c8f868bd..97ca54dcc85 100644
--- a/src/libs/ssh/sshremoteprocess.cpp
+++ b/src/libs/ssh/sshremoteprocess.cpp
@@ -62,14 +62,7 @@ void SshRemoteProcess::emitFinished()
{
if (exitStatus() == QProcess::CrashExit)
m_errorString = tr("The ssh process crashed: %1").arg(errorString());
- emit finished();
-}
-
-void SshRemoteProcess::emitErrorOccurred(QProcess::ProcessError error)
-{
- if (error == QProcess::FailedToStart)
- emit finished();
- emit errorOccurred(error);
+ QtcProcess::emitFinished();
}
void SshRemoteProcess::start()
diff --git a/src/libs/ssh/sshremoteprocess.h b/src/libs/ssh/sshremoteprocess.h
index 99aa01a1cec..8f80ac1a5a4 100644
--- a/src/libs/ssh/sshremoteprocess.h
+++ b/src/libs/ssh/sshremoteprocess.h
@@ -50,7 +50,6 @@ public:
protected:
void emitFinished() override;
- void emitErrorOccurred(QProcess::ProcessError error) override;
private:
QString m_remoteCommand;
diff --git a/src/libs/ssh/sshremoteprocessrunner.cpp b/src/libs/ssh/sshremoteprocessrunner.cpp
index c1259f4d9e1..617ffc000c4 100644
--- a/src/libs/ssh/sshremoteprocessrunner.cpp
+++ b/src/libs/ssh/sshremoteprocessrunner.cpp
@@ -36,6 +36,8 @@
running a remote process over an SSH connection.
*/
+using namespace Utils;
+
namespace QSsh {
namespace Internal {
namespace {
@@ -109,13 +111,13 @@ void SshRemoteProcessRunner::handleConnected()
setState(Connected);
d->m_process = d->m_connection->createRemoteProcess(d->m_command);
- connect(d->m_process.get(), &SshRemoteProcess::started,
+ connect(d->m_process.get(), &QtcProcess::started,
this, &SshRemoteProcessRunner::handleProcessStarted);
- connect(d->m_process.get(), &SshRemoteProcess::finished,
+ connect(d->m_process.get(), &QtcProcess::done,
this, &SshRemoteProcessRunner::handleProcessFinished);
- connect(d->m_process.get(), &SshRemoteProcess::readyReadStandardOutput,
+ connect(d->m_process.get(), &QtcProcess::readyReadStandardOutput,
this, &SshRemoteProcessRunner::readyReadStandardOutput);
- connect(d->m_process.get(), &SshRemoteProcess::readyReadStandardError,
+ connect(d->m_process.get(), &QtcProcess::readyReadStandardError,
this, &SshRemoteProcessRunner::readyReadStandardError);
d->m_process->start();
}
diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp
index 7bd20d76b38..fee06952f46 100644
--- a/src/libs/utils/qtcprocess.cpp
+++ b/src/libs/utils/qtcprocess.cpp
@@ -590,6 +590,8 @@ public:
void handleError(QProcess::ProcessError error);
void clearForRun();
+ void emitErrorOccurred(QProcess::ProcessError error);
+
ProcessResult interpretExitCode(int exitCode);
QTextCodec *m_codec = QTextCodec::codecForLocale();
@@ -701,11 +703,7 @@ void QtcProcess::emitStarted()
void QtcProcess::emitFinished()
{
emit finished();
-}
-
-void QtcProcess::emitErrorOccurred(QProcess::ProcessError error)
-{
- emit errorOccurred(error);
+ emit done();
}
void QtcProcess::setProcessInterface(ProcessInterface *interface)
@@ -1647,7 +1645,14 @@ void QtcProcessPrivate::handleError(QProcess::ProcessError error)
if (m_eventLoop)
m_eventLoop->quit();
- q->emitErrorOccurred(error);
+ emitErrorOccurred(error);
+}
+
+void QtcProcessPrivate::emitErrorOccurred(QProcess::ProcessError error)
+{
+ emit q->errorOccurred(error);
+ if (error == QProcess::FailedToStart)
+ emit q->done();
}
} // namespace Utils
diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h
index 1e73b0176f3..d7a2dcb7fd3 100644
--- a/src/libs/utils/qtcprocess.h
+++ b/src/libs/utils/qtcprocess.h
@@ -189,6 +189,8 @@ public:
signals:
void started();
void finished();
+ void done(); // The same as finished() with the addition it's being also emitted after
+ // FailedToStart error occurred.
void errorOccurred(QProcess::ProcessError error);
void readyReadStandardOutput();
void readyReadStandardError();
@@ -197,7 +199,6 @@ protected:
// TODO: remove these methods on QtcProcess de-virtualization
virtual void emitStarted();
virtual void emitFinished();
- virtual void emitErrorOccurred(QProcess::ProcessError error);
private:
void setProcessInterface(ProcessInterface *interface);