forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
connect(watcher, &QFutureWatcher<void>::canceled, this, [this] {
|
||||
if (m_qmakeGlobals)
|
||||
m_qmakeGlobals->killProcesses();
|
||||
watcher->disconnect();
|
||||
watcher->deleteLater();
|
||||
});
|
||||
connect(watcher, &QFutureWatcher<void>::finished, this, [watcher] {
|
||||
watcher->disconnect();
|
||||
watcher->deleteLater();
|
||||
});
|
||||
connect(watcher, &QFutureWatcher<void>::finished, watcher, &QObject::deleteLater);
|
||||
watcher->setFuture(m_asyncUpdateFutureInterface->future());
|
||||
|
||||
const Kit *const k = kit();
|
||||
|
Reference in New Issue
Block a user