diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-09-03 15:23:37 +0200 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-09-03 15:26:55 +0200 |
commit | c4e287f0855472ae7b04d7a0263bc27174d2b409 (patch) | |
tree | 12951200669824d148dab1f24d1eb38cdb9673ce /src/plugins/locator/locatorwidget.cpp | |
parent | 55b6cb0a96830ad10801d8c154ea0adafb4dc72f (diff) | |
download | qt-creator-c4e287f0855472ae7b04d7a0263bc27174d2b409.tar.gz |
Wait until the filtering is finished.
Unfortunately, we still have a few ILocatorFilter based classes that
don't play nice with threads.
Diffstat (limited to 'src/plugins/locator/locatorwidget.cpp')
-rw-r--r-- | src/plugins/locator/locatorwidget.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/locator/locatorwidget.cpp b/src/plugins/locator/locatorwidget.cpp index cc7dd54f3c..8f29bbba7a 100644 --- a/src/plugins/locator/locatorwidget.cpp +++ b/src/plugins/locator/locatorwidget.cpp @@ -452,9 +452,12 @@ void LocatorWidget::updateCompletionList(const QString &text) QString searchText; const QList<ILocatorFilter*> filters = filtersFor(text, searchText); - QFuture<FilterEntry> future = QtConcurrent::run(filter_helper, filters, searchText); + // cancel the old future m_entriesWatcher->future().cancel(); + + QFuture<FilterEntry> future = QtConcurrent::run(filter_helper, filters, searchText); m_entriesWatcher->setFuture(future); + future.waitForFinished(); } void LocatorWidget::updateEntries() |