summaryrefslogtreecommitdiff
path: root/src/plugins/languageclient/languageclientmanager.cpp
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2022-12-06 09:47:18 +0100
committerDavid Schulz <david.schulz@qt.io>2022-12-07 10:58:31 +0000
commit8c8f3e30b56175967c5fb91b0cde89c7f66dc75c (patch)
treea4e126a3cdac7284b24a2095213df6af004e9d24 /src/plugins/languageclient/languageclientmanager.cpp
parentb7e70592d6e0c8e4c97278209c6f47cec4f1c67c (diff)
downloadqt-creator-8c8f3e30b56175967c5fb91b0cde89c7f66dc75c.tar.gz
LanguageClient: Fix handling of defective language server
If the language server cannot be started, the client might be already in an error state before the language server gets initialized. Change-Id: Ib6c9df13b381e7854806714c07f4830796bb2cd3 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/languageclient/languageclientmanager.cpp')
-rw-r--r--src/plugins/languageclient/languageclientmanager.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp
index 60468ff12d..7f50391ea1 100644
--- a/src/plugins/languageclient/languageclientmanager.cpp
+++ b/src/plugins/languageclient/languageclientmanager.cpp
@@ -113,6 +113,8 @@ void LanguageClientManager::clientStarted(Client *client)
qCDebug(Log) << "client started: " << client->name() << client;
QTC_ASSERT(managerInstance, return);
QTC_ASSERT(client, return);
+ if (client->state() != Client::Uninitialized) // do not proceed if we already received an error
+ return;
if (g_shuttingDown) {
clientFinished(client);
return;