From 703525f74b3e05ecf95bcde1c4974b97820cd472 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 14 Apr 2022 12:43:29 +0200 Subject: [PATCH] Slog2InfoRunner: Connect to QtcProcess::done() signal Instead of connecting to errorOccurred() and finished() signals. Add some missing basic error handling. Change-Id: I5faee9901b5820cd972cf5f6e47880addfbf1d1e Reviewed-by: Reviewed-by: Rafael Roquetto --- src/plugins/qnx/slog2inforunner.cpp | 14 ++++++++++---- src/plugins/qnx/slog2inforunner.h | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/plugins/qnx/slog2inforunner.cpp b/src/plugins/qnx/slog2inforunner.cpp index 6f3c1415719..6dc74f28a68 100644 --- a/src/plugins/qnx/slog2inforunner.cpp +++ b/src/plugins/qnx/slog2inforunner.cpp @@ -52,15 +52,15 @@ Slog2InfoRunner::Slog2InfoRunner(RunControl *runControl) m_applicationId.truncate(63); m_testProcess = new QnxDeviceProcess(device(), this); - connect(m_testProcess, &QtcProcess::finished, this, &Slog2InfoRunner::handleTestProcessCompleted); + connect(m_testProcess, &QtcProcess::done, this, &Slog2InfoRunner::handleTestProcessCompleted); m_launchDateTimeProcess = new SshDeviceProcess(device(), this); - connect(m_launchDateTimeProcess, &QtcProcess::finished, this, &Slog2InfoRunner::launchSlog2Info); + connect(m_launchDateTimeProcess, &QtcProcess::done, this, &Slog2InfoRunner::launchSlog2Info); m_logProcess = new QnxDeviceProcess(device(), this); connect(m_logProcess, &QtcProcess::readyReadStandardOutput, this, &Slog2InfoRunner::readLogStandardOutput); connect(m_logProcess, &QtcProcess::readyReadStandardError, this, &Slog2InfoRunner::readLogStandardError); - connect(m_logProcess, &QtcProcess::errorOccurred, this, &Slog2InfoRunner::handleLogError); + connect(m_logProcess, &QtcProcess::done, this, &Slog2InfoRunner::handleLogDone); } void Slog2InfoRunner::printMissingWarning() @@ -119,6 +119,9 @@ void Slog2InfoRunner::launchSlog2Info() if (m_logProcess->state() == QProcess::Running) return; + if (m_launchDateTimeProcess->error() != QProcess::UnknownError) + return; + m_launchDateTime = QDateTime::fromString(QString::fromLatin1(m_launchDateTimeProcess->readAllStandardOutput()).trimmed(), QString::fromLatin1("dd HH:mm:ss")); @@ -190,8 +193,11 @@ void Slog2InfoRunner::readLogStandardError() appendMessage(QString::fromLatin1(m_logProcess->readAllStandardError()), Utils::StdErrFormat); } -void Slog2InfoRunner::handleLogError() +void Slog2InfoRunner::handleLogDone() { + if (m_logProcess->error() == QProcess::UnknownError) + return; + appendMessage(tr("Cannot show slog2info output. Error: %1") .arg(m_logProcess->errorString()), Utils::StdErrFormat); } diff --git a/src/plugins/qnx/slog2inforunner.h b/src/plugins/qnx/slog2inforunner.h index 92a4ace254e..c6ab4872e01 100644 --- a/src/plugins/qnx/slog2inforunner.h +++ b/src/plugins/qnx/slog2inforunner.h @@ -56,7 +56,7 @@ private: void readLogStandardOutput(); void readLogStandardError(); - void handleLogError(); + void handleLogDone(); void printMissingWarning(); void readLaunchTime();