From 3ab822739df615c81c5fc777fff28d92fc7ea5fe Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 16 Jun 2022 16:29:29 +0200 Subject: [PATCH] FetchContext: Connect to done() signal Instead of connecting to errorOccurred() and finished() signals. Change-Id: I16e0de8422be989bf56cc6c5b865966f97013731 Reviewed-by: Orgad Shaneh Reviewed-by: --- src/plugins/git/gerrit/gerritplugin.cpp | 51 +++++++++---------------- 1 file changed, 17 insertions(+), 34 deletions(-) diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp index b68aa56c7be..a92543dff8f 100644 --- a/src/plugins/git/gerrit/gerritplugin.cpp +++ b/src/plugins/git/gerrit/gerritplugin.cpp @@ -107,8 +107,7 @@ private: ErrorState }; - void processError(QProcess::ProcessError); - void processFinished(); + void processDone(); void processReadyReadStandardError(); void processReadyReadStandardOutput(); @@ -141,8 +140,7 @@ FetchContext::FetchContext(const QSharedPointer &change, , m_server(server) , m_state(FetchState) { - connect(&m_process, &QtcProcess::errorOccurred, this, &FetchContext::processError); - connect(&m_process, &QtcProcess::finished, this, &FetchContext::processFinished); + connect(&m_process, &QtcProcess::done, this, &FetchContext::processDone); connect(&m_process, &QtcProcess::readyReadStandardError, this, &FetchContext::processReadyReadStandardError); connect(&m_process, &QtcProcess::readyReadStandardOutput, @@ -175,29 +173,26 @@ void FetchContext::start() m_process.start(); } -void FetchContext::processFinished() +void FetchContext::processDone() { - if (m_process.exitStatus() != QProcess::NormalExit) { - handleError(tr("%1 crashed.").arg(m_git.toUserOutput())); + if (m_process.result() != ProcessResult::FinishedWithSuccess) { + handleError(m_process.exitMessage()); return; } - if (m_process.exitCode()) { - handleError(tr("%1 returned %2.").arg(m_git.toUserOutput()).arg(m_process.exitCode())); + if (m_state != FetchState) return; - } - if (m_state == FetchState) { - m_progress.setProgressValue(m_progress.progressValue() + 1); - if (m_fetchMode == FetchDisplay) - show(); - else if (m_fetchMode == FetchCherryPick) - cherryPick(); - else if (m_fetchMode == FetchCheckout) - checkout(); - m_progress.reportFinished(); - m_state = DoneState; - deleteLater(); - } + m_progress.setProgressValue(m_progress.progressValue() + 1); + if (m_fetchMode == FetchDisplay) + show(); + else if (m_fetchMode == FetchCherryPick) + cherryPick(); + else if (m_fetchMode == FetchCheckout) + checkout(); + + m_progress.reportFinished(); + m_state = DoneState; + deleteLater(); } void FetchContext::processReadyReadStandardError() @@ -226,17 +221,6 @@ void FetchContext::handleError(const QString &e) deleteLater(); } -void FetchContext::processError(QProcess::ProcessError e) -{ - if (m_progress.isCanceled()) - return; - const QString msg = tr("Error running %1: %2").arg(m_git.toUserOutput(), m_process.errorString()); - if (e == QProcess::FailedToStart) - handleError(msg); - else - VcsBase::VcsOutputWindow::appendError(msg); -} - void FetchContext::show() { const QString title = QString::number(m_change->number) + '/' @@ -263,7 +247,6 @@ void FetchContext::terminate() m_process.waitForFinished(); } - GerritPlugin::GerritPlugin(QObject *parent) : QObject(parent) , m_parameters(new GerritParameters)