LanguageClient: do not disconnect client from manager

The previously connected signals should be safe to stay connected while
the server restarts. This fixes restarting crashed clients more than once.

Change-Id: I161d41418e10b7e3bd3e17141720f4a5f399841c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2022-02-08 15:08:26 +01:00
parent 385367cfd7
commit d59047a4c2

View File

@@ -159,7 +159,6 @@ void LanguageClientManager::clientFinished(Client *client)
= managerInstance->m_clientForDocument.keys(client); = managerInstance->m_clientForDocument.keys(client);
if (client->reset()) { if (client->reset()) {
qCDebug(Log) << "restart unexpectedly finished client: " << client->name() << client; qCDebug(Log) << "restart unexpectedly finished client: " << client->name() << client;
client->disconnect(managerInstance);
client->log( client->log(
tr("Unexpectedly finished. Restarting in %1 seconds.").arg(restartTimeoutS)); tr("Unexpectedly finished. Restarting in %1 seconds.").arg(restartTimeoutS));
QTimer::singleShot(restartTimeoutS * 1000, client, [client]() { client->start(); }); QTimer::singleShot(restartTimeoutS * 1000, client, [client]() { client->start(); });