From 317452ee8c314b9b98f21405dd7d688dbae606fe Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 29 Apr 2022 00:25:20 +0200 Subject: [PATCH] PerforceChecker: Connect to QtcProcess::done() signal Instead of connecting to errorOccurred() and finished() signals. Change-Id: I111ea0c0bf7a68a4aa016ae789ee6ee269403808 Reviewed-by: Reviewed-by: Orgad Shaneh --- src/plugins/perforce/perforcechecker.cpp | 24 ++++-------------------- src/plugins/perforce/perforcechecker.h | 3 +-- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/src/plugins/perforce/perforcechecker.cpp b/src/plugins/perforce/perforcechecker.cpp index bebb86768d8..2e53d1e538e 100644 --- a/src/plugins/perforce/perforcechecker.cpp +++ b/src/plugins/perforce/perforcechecker.cpp @@ -41,8 +41,7 @@ namespace Internal { PerforceChecker::PerforceChecker(QObject *parent) : QObject(parent) { - connect(&m_process, &QtcProcess::errorOccurred, this, &PerforceChecker::slotError); - connect(&m_process, &QtcProcess::finished, this, &PerforceChecker::slotFinished); + connect(&m_process, &QtcProcess::done, this, &PerforceChecker::slotDone); } PerforceChecker::~PerforceChecker() @@ -112,30 +111,15 @@ void PerforceChecker::slotTimeOut() emitFailed(tr("\"%1\" timed out after %2 ms.").arg(m_binary.toUserOutput()).arg(m_timeOutMS)); } -void PerforceChecker::slotError(QProcess::ProcessError error) +void PerforceChecker::slotDone() { if (m_timedOut) return; - switch (error) { - case QProcess::FailedToStart: + if (m_process.error() == QProcess::FailedToStart) { emitFailed(tr("Unable to launch \"%1\": %2"). arg(m_binary.toUserOutput(), m_process.errorString())); - break; - case QProcess::Crashed: // Handled elsewhere - case QProcess::Timedout: - break; - case QProcess::ReadError: - case QProcess::WriteError: - case QProcess::UnknownError: - m_process.stopProcess(); - break; - } -} - -void PerforceChecker::slotFinished() -{ - if (m_timedOut) return; + } switch (m_process.exitStatus()) { case QProcess::CrashExit: emitFailed(tr("\"%1\" crashed.").arg(m_binary.toUserOutput())); diff --git a/src/plugins/perforce/perforcechecker.h b/src/plugins/perforce/perforcechecker.h index 6d8dd09146d..42d312bc8c5 100644 --- a/src/plugins/perforce/perforcechecker.h +++ b/src/plugins/perforce/perforcechecker.h @@ -59,8 +59,7 @@ signals: void failed(const QString &errorMessage); private: - void slotError(QProcess::ProcessError error); - void slotFinished(); + void slotDone(); void slotTimeOut(); void emitFailed(const QString &);