ValgrindProcess: Fix showing callgrind results after red square button

Amends b1304de6cf

Change-Id: I3e744e617d7224ccc243b666adc2b448ca9b6bda
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2025-01-08 15:32:49 +01:00
parent ef5cc7ebf4
commit 80135380c1
2 changed files with 9 additions and 3 deletions

View File

@@ -90,8 +90,6 @@ void ValgrindToolRunner::stop()
m_isStopping = true; m_isStopping = true;
m_runner.stop(); m_runner.stop();
appendMessage(Tr::tr("Process terminated."), ErrorMessageFormat); appendMessage(Tr::tr("Process terminated."), ErrorMessageFormat);
m_progress.reportFinished();
reportStopped();
} }
QStringList ValgrindToolRunner::genericToolArguments() const QStringList ValgrindToolRunner::genericToolArguments() const

View File

@@ -61,6 +61,8 @@ static CommandLine valgrindCommand(const CommandLine &command,
class ValgrindProcessPrivate : public QObject class ValgrindProcessPrivate : public QObject
{ {
Q_OBJECT
public: public:
ValgrindProcessPrivate(ValgrindProcess *owner) ValgrindProcessPrivate(ValgrindProcess *owner)
: q(owner) : q(owner)
@@ -83,6 +85,9 @@ public:
bool m_useTerminal = false; bool m_useTerminal = false;
TaskTreeRunner m_taskTreeRunner; TaskTreeRunner m_taskTreeRunner;
signals:
void stopRequested();
}; };
Group ValgrindProcessPrivate::runRecipe() const Group ValgrindProcessPrivate::runRecipe() const
@@ -175,6 +180,7 @@ Group ValgrindProcessPrivate::runRecipe() const
connect(processPtr, &Process::readyReadStandardError, this, [this, processPtr] { connect(processPtr, &Process::readyReadStandardError, this, [this, processPtr] {
emit q->appendMessage(processPtr->readAllStandardError(), StdErrFormat); emit q->appendMessage(processPtr->readAllStandardError(), StdErrFormat);
}); });
connect(this, &ValgrindProcessPrivate::stopRequested, processPtr, &Process::stop);
}; };
const auto onProcessDone = [this, storage](const Process &process) { const auto onProcessDone = [this, storage](const Process &process) {
emit q->processErrorReceived(process.errorString(), process.error()); emit q->processErrorReceived(process.errorString(), process.error());
@@ -254,7 +260,7 @@ bool ValgrindProcess::start()
void ValgrindProcess::stop() void ValgrindProcess::stop()
{ {
d->m_taskTreeRunner.reset(); emit d->stopRequested();
} }
bool ValgrindProcess::runBlocking() bool ValgrindProcess::runBlocking()
@@ -275,3 +281,5 @@ bool ValgrindProcess::runBlocking()
} }
} // namespace Valgrind } // namespace Valgrind
#include "valgrindprocess.moc"