From 1359e6ba61615084c84edd7d4061779f3ef6fe0b Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 13 Jun 2025 13:02:08 +0200 Subject: [PATCH] Valgrind: Fix process result Don't emit signals when tasks were canceled. Change-Id: I5f209f5865571cd096ac09f21c83620019fdbadd Reviewed-by: hjk --- src/plugins/valgrind/valgrindprocess.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/plugins/valgrind/valgrindprocess.cpp b/src/plugins/valgrind/valgrindprocess.cpp index 520779edac8..ce59aa1e632 100644 --- a/src/plugins/valgrind/valgrindprocess.cpp +++ b/src/plugins/valgrind/valgrindprocess.cpp @@ -182,8 +182,9 @@ Group ValgrindProcessPrivate::runRecipe() const }); connect(this, &ValgrindProcessPrivate::stopRequested, processPtr, &Process::stop); }; - const auto onProcessDone = [this, storage](const Process &process) { - emit q->processErrorReceived(process.errorString(), process.result()); + const auto onProcessDone = [this, storage](const Process &process, DoneWith result) { + if (result == DoneWith::Error) + emit q->processErrorReceived(process.errorString(), process.result()); }; const auto isAddressValid = [this] { return !m_localServerAddress.isNull(); }; @@ -194,8 +195,9 @@ Group ValgrindProcessPrivate::runRecipe() const parser.setSocket(storage->m_xmlSocket.release()); }; - const auto onParserDone = [this](const Parser &parser) { - emit q->internalError(parser.errorString()); + const auto onParserDone = [this](const Parser &parser, DoneWith result) { + if (result == DoneWith::Error) + emit q->internalError(parser.errorString()); }; const Group root { @@ -203,10 +205,10 @@ Group ValgrindProcessPrivate::runRecipe() const xmlBarrier, If (isSetupValid) >> Then { parallel, - ProcessTask(onProcessSetup, onProcessDone, CallDoneIf::Error), + ProcessTask(onProcessSetup, onProcessDone), If (isAddressValid) >> Then { waitForBarrierTask(xmlBarrier), - ParserTask(onParserSetup, onParserDone, CallDoneIf::Error) + ParserTask(onParserSetup, onParserDone) } } >> Else { errorItem