diff options
author | David Schulz <david.schulz@qt.io> | 2021-05-05 10:40:43 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2021-05-07 11:28:05 +0000 |
commit | 7fb592fe0cfec22ae7e966b9c6b88aa801bf9592 (patch) | |
tree | 84885caaab1b6857194fe23ba7040fdb56eccfe3 /src/plugins/cpptools/cppmodelmanager.cpp | |
parent | d7c659fa87e8052b25bff98c8c127ae1bc34753e (diff) | |
download | qt-creator-7fb592fe0cfec22ae7e966b9c6b88aa801bf9592.tar.gz |
CppTools: Fix UI freeze on project update
Do not wait for the previous update to finish before starting the next
update.
Amends: 6d7e5eb8d17194b124c8986d670ff96fda96f0f3
Change-Id: Ic8d43b56949cbf024832afc85e54a31db29b11ac
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 5f6f296503..a4652e8baf 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -1089,10 +1089,12 @@ void CppModelManager::watchForCanceledProjectIndexer(const QFuture<void> &future connect(watcher, &QFutureWatcher<void>::canceled, this, [this, project, watcher]() { if (d->m_projectToIndexerCanceled.contains(project)) // Project not yet removed d->m_projectToIndexerCanceled.insert(project, true); + watcher->disconnect(this); watcher->deleteLater(); }); connect(watcher, &QFutureWatcher<void>::finished, this, [this, project, watcher]() { d->m_projectToIndexerCanceled.remove(project); + watcher->disconnect(this); watcher->deleteLater(); }); watcher->setFuture(future); |