diff --git a/src/plugins/locator/locatorwidget.cpp b/src/plugins/locator/locatorwidget.cpp index cc7dd54f3cfbb6c0ebb10d13b5850f6c0ecff1be..8f29bbba7a19b94c1645c5ce6a6a13eae3924325 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()