From c777025ce45fa38e357e584267664157a21327d5 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 12 Jun 2025 12:44:13 +0200 Subject: [PATCH] QMakeProjectManager: Fix a warning about disconnecting from destoyed() The reportCanceled() is always followed by reportFinished(), so it's enough to connect finished() to deleteLater(). There is no need to disconnect from watcher's signals, as canceled() and finished() might be sent just once. Change-Id: Icbf5ed454b278b559b3b2b9d4047766b3e875aff Reviewed-by: Christian Kandeler --- src/plugins/qmakeprojectmanager/qmakeproject.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 6105be515e2..08c0f2fc39b 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -685,17 +685,11 @@ void QmakeBuildSystem::asyncUpdate() m_asyncUpdateFutureInterface->reportStarted(); const auto watcher = new QFutureWatcher(this); - connect(watcher, &QFutureWatcher::canceled, this, [this, watcher] { - if (!m_qmakeGlobals) - return; - m_qmakeGlobals->killProcesses(); - watcher->disconnect(); - watcher->deleteLater(); - }); - connect(watcher, &QFutureWatcher::finished, this, [watcher] { - watcher->disconnect(); - watcher->deleteLater(); + connect(watcher, &QFutureWatcher::canceled, this, [this] { + if (m_qmakeGlobals) + m_qmakeGlobals->killProcesses(); }); + connect(watcher, &QFutureWatcher::finished, watcher, &QObject::deleteLater); watcher->setFuture(m_asyncUpdateFutureInterface->future()); const Kit *const k = kit();