From 5cbf323014bc9c9bc9912facaf1fc6a0f5c5f53f Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 17 Feb 2021 10:54:22 +0100 Subject: [PATCH] LanguageClient: track clients again Amends 166fce50369f111f9395a0e83f0e6b316e98ed28. Change-Id: If78ca6a15fd5b5f809ef7693b3b31131a0973df3 Reviewed-by: Christian Stenger --- .../languageclient/languageclientmanager.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp index 54f46cd83d4..fef29a2402e 100644 --- a/src/plugins/languageclient/languageclientmanager.cpp +++ b/src/plugins/languageclient/languageclientmanager.cpp @@ -106,13 +106,16 @@ void LanguageClientManager::clientStarted(Client *client) clientFinished(client); return; } - connect(client, &Client::finished, managerInstance, [client](){ - clientFinished(client); - }); - connect(client, - &Client::initialized, - &managerInstance->m_currentDocumentLocatorFilter, - &DocumentLocatorFilter::updateCurrentClient); + if (!managerInstance->m_clients.contains(client)) { + managerInstance->m_clients << client; + connect(client, &Client::finished, managerInstance, [client](){ + clientFinished(client); + }); + connect(client, + &Client::initialized, + &managerInstance->m_currentDocumentLocatorFilter, + &DocumentLocatorFilter::updateCurrentClient); + } client->initialize(); }