summaryrefslogtreecommitdiff
path: root/src/plugins/languageclient
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2019-05-13 13:41:12 +0200
committerDavid Schulz <david.schulz@qt.io>2019-05-13 13:09:09 +0000
commitb6ea02d82989c7c2a29639fa416e556c7c489027 (patch)
treed3e639d57d3c7fd99ddf1f5cdb1ebbc459526cb5 /src/plugins/languageclient
parentf341dd0b8e21fecfd5d6c1e38c092fbecf073658 (diff)
downloadqt-creator-b6ea02d82989c7c2a29639fa416e556c7c489027.tar.gz
LanguageClient: Fix deadlock in locatorfilter
Change-Id: I4804ec28f74fdf3c7cf20798a94b6edf04f00439 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/languageclient')
-rw-r--r--src/plugins/languageclient/locatorfilter.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/languageclient/locatorfilter.cpp b/src/plugins/languageclient/locatorfilter.cpp
index 8576f5658d..e3f34eba5e 100644
--- a/src/plugins/languageclient/locatorfilter.cpp
+++ b/src/plugins/languageclient/locatorfilter.cpp
@@ -146,8 +146,10 @@ Core::LocatorFilterEntry DocumentLocatorFilter::generateLocatorEntry(const Docum
void DocumentLocatorFilter::prepareSearch(const QString &/*entry*/)
{
QMutexLocker locker(&m_mutex);
- if (m_symbolCache && !m_currentSymbols.has_value())
+ if (m_symbolCache && !m_currentSymbols.has_value()) {
+ locker.unlock();
m_symbolCache->requestSymbols(m_currentUri);
+ }
}
QList<Core::LocatorFilterEntry> DocumentLocatorFilter::matchesFor(