From 80135380c1f1f6707e44d74ca6f7b5852cb9bd57 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 8 Jan 2025 15:32:49 +0100 Subject: [PATCH] ValgrindProcess: Fix showing callgrind results after red square button Amends b1304de6cf1bca02bc6a6447700aa425b1fb7627 Change-Id: I3e744e617d7224ccc243b666adc2b448ca9b6bda Reviewed-by: hjk --- src/plugins/valgrind/valgrindengine.cpp | 2 -- src/plugins/valgrind/valgrindprocess.cpp | 10 +++++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp index 57f62a0c4b3..0c6156f72a5 100644 --- a/src/plugins/valgrind/valgrindengine.cpp +++ b/src/plugins/valgrind/valgrindengine.cpp @@ -90,8 +90,6 @@ void ValgrindToolRunner::stop() m_isStopping = true; m_runner.stop(); appendMessage(Tr::tr("Process terminated."), ErrorMessageFormat); - m_progress.reportFinished(); - reportStopped(); } QStringList ValgrindToolRunner::genericToolArguments() const diff --git a/src/plugins/valgrind/valgrindprocess.cpp b/src/plugins/valgrind/valgrindprocess.cpp index 23c84f4b487..f0d6d28948c 100644 --- a/src/plugins/valgrind/valgrindprocess.cpp +++ b/src/plugins/valgrind/valgrindprocess.cpp @@ -61,6 +61,8 @@ static CommandLine valgrindCommand(const CommandLine &command, class ValgrindProcessPrivate : public QObject { + Q_OBJECT + public: ValgrindProcessPrivate(ValgrindProcess *owner) : q(owner) @@ -83,6 +85,9 @@ public: bool m_useTerminal = false; TaskTreeRunner m_taskTreeRunner; + +signals: + void stopRequested(); }; Group ValgrindProcessPrivate::runRecipe() const @@ -175,6 +180,7 @@ Group ValgrindProcessPrivate::runRecipe() const connect(processPtr, &Process::readyReadStandardError, this, [this, processPtr] { emit q->appendMessage(processPtr->readAllStandardError(), StdErrFormat); }); + connect(this, &ValgrindProcessPrivate::stopRequested, processPtr, &Process::stop); }; const auto onProcessDone = [this, storage](const Process &process) { emit q->processErrorReceived(process.errorString(), process.error()); @@ -254,7 +260,7 @@ bool ValgrindProcess::start() void ValgrindProcess::stop() { - d->m_taskTreeRunner.reset(); + emit d->stopRequested(); } bool ValgrindProcess::runBlocking() @@ -275,3 +281,5 @@ bool ValgrindProcess::runBlocking() } } // namespace Valgrind + +#include "valgrindprocess.moc"