summaryrefslogtreecommitdiff
path: root/src/plugins/locator/locatorwidget.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-09-03 15:23:37 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2010-09-03 15:26:55 +0200
commitc4e287f0855472ae7b04d7a0263bc27174d2b409 (patch)
tree12951200669824d148dab1f24d1eb38cdb9673ce /src/plugins/locator/locatorwidget.cpp
parent55b6cb0a96830ad10801d8c154ea0adafb4dc72f (diff)
downloadqt-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.cpp5
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()