diff --git a/src/plugins/valgrind/callgrindengine.cpp b/src/plugins/valgrind/callgrindengine.cpp index 92b13b4f77b..192174c6e54 100644 --- a/src/plugins/valgrind/callgrindengine.cpp +++ b/src/plugins/valgrind/callgrindengine.cpp @@ -40,7 +40,7 @@ CallgrindToolRunner::CallgrindToolRunner(RunControl *runControl) connect(&m_runner, &ValgrindRunner::valgrindStarted, this, [this](qint64 pid) { m_pid = pid; }); - connect(&m_runner, &ValgrindRunner::finished, this, [this] { + connect(&m_runner, &ValgrindRunner::done, this, [this] { triggerParse(); emit parserDataReady(this); }); diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp index c837b7097b2..0b6abb771f9 100644 --- a/src/plugins/valgrind/valgrindengine.cpp +++ b/src/plugins/valgrind/valgrindengine.cpp @@ -41,7 +41,7 @@ ValgrindToolRunner::ValgrindToolRunner(RunControl *runControl) [this](const QString &msg, Utils::OutputFormat format) { appendMessage(msg, format); }); connect(&m_runner, &ValgrindRunner::processErrorReceived, this, &ValgrindToolRunner::receiveProcessError); - connect(&m_runner, &ValgrindRunner::finished, + connect(&m_runner, &ValgrindRunner::done, this, &ValgrindToolRunner::runnerFinished); } diff --git a/src/plugins/valgrind/valgrindrunner.cpp b/src/plugins/valgrind/valgrindrunner.cpp index 6b05d58884e..621e837e1c1 100644 --- a/src/plugins/valgrind/valgrindrunner.cpp +++ b/src/plugins/valgrind/valgrindrunner.cpp @@ -110,9 +110,10 @@ public: emit q->valgrindStarted(process->processId()); }); connect(process, &Process::done, this, [this, process] { - if (process->result() != ProcessResult::FinishedWithSuccess) + const bool success = process->result() == ProcessResult::FinishedWithSuccess; + if (!success) emit q->processErrorReceived(process->errorString(), process->error()); - emit q->finished(); + emit q->done(success); }); connect(process, &Process::readyReadStandardOutput, this, [this, process] { emit q->appendMessage(process->readAllStandardOutput(), StdOutFormat); @@ -224,7 +225,7 @@ void ValgrindRunner::waitForFinished() const return; QEventLoop loop; - connect(this, &ValgrindRunner::finished, &loop, &QEventLoop::quit); + connect(this, &ValgrindRunner::done, &loop, &QEventLoop::quit); loop.exec(); } diff --git a/src/plugins/valgrind/valgrindrunner.h b/src/plugins/valgrind/valgrindrunner.h index e7fabc68bf5..ff7dea0dde6 100644 --- a/src/plugins/valgrind/valgrindrunner.h +++ b/src/plugins/valgrind/valgrindrunner.h @@ -47,7 +47,7 @@ signals: void logMessageReceived(const QByteArray &); void processErrorReceived(const QString &, QProcess::ProcessError); void valgrindStarted(qint64 pid); - void finished(); + void done(bool success); // Parser's signals void status(const Valgrind::XmlProtocol::Status &status); diff --git a/tests/auto/valgrind/memcheck/modeldemo.cpp b/tests/auto/valgrind/memcheck/modeldemo.cpp index c7c3f4fc962..9eaf314e0ab 100644 --- a/tests/auto/valgrind/memcheck/modeldemo.cpp +++ b/tests/auto/valgrind/memcheck/modeldemo.cpp @@ -33,7 +33,7 @@ int main(int argc, char *argv[]) runner.setValgrindCommand({VALGRIND_FAKE_PATH, {"-i", PARSERTESTS_DATA_DIR "/memcheck-output-sample1.xml"}}); ModelDemo demo(&runner); - QObject::connect(&runner, &ValgrindRunner::finished, &demo, &ModelDemo::finished); + QObject::connect(&runner, &ValgrindRunner::done, &demo, &ModelDemo::finished); ErrorListModel model; QObject::connect(&runner, &ValgrindRunner::error, &model, &ErrorListModel::addError, Qt::QueuedConnection);