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 <christian.kandeler@qt.io>
This commit is contained in:
Jarek Kobus
2025-06-12 12:44:13 +02:00
parent f7b7343d89
commit c777025ce4

View File

@@ -685,17 +685,11 @@ void QmakeBuildSystem::asyncUpdate()
m_asyncUpdateFutureInterface->reportStarted();
const auto watcher = new QFutureWatcher<void>(this);
connect(watcher, &QFutureWatcher<void>::canceled, this, [this, watcher] {
if (!m_qmakeGlobals)
return;
m_qmakeGlobals->killProcesses();
watcher->disconnect();
watcher->deleteLater();
});
connect(watcher, &QFutureWatcher<void>::finished, this, [watcher] {
watcher->disconnect();
watcher->deleteLater();
connect(watcher, &QFutureWatcher<void>::canceled, this, [this] {
if (m_qmakeGlobals)
m_qmakeGlobals->killProcesses();
});
connect(watcher, &QFutureWatcher<void>::finished, watcher, &QObject::deleteLater);
watcher->setFuture(m_asyncUpdateFutureInterface->future());
const Kit *const k = kit();