LSP: Avoid crash in shutdown

Having a corrupt language server might end up in a double
delete when closing the client.

Change-Id: I23e02d666d6c070a9f4b33605782fe875c5cabe6
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2018-10-26 11:02:33 +02:00
parent 02760eafc8
commit 88a6276551

View File

@@ -205,6 +205,7 @@ void LanguageClientManager::reportFinished(const MessageId &id, BaseClient *byCl
void LanguageClientManager::deleteClient(BaseClient *client) void LanguageClientManager::deleteClient(BaseClient *client)
{ {
QTC_ASSERT(client, return); QTC_ASSERT(client, return);
client->disconnect(managerInstance);
managerInstance->removeMarks(client->id()); managerInstance->removeMarks(client->id());
managerInstance->m_clients.removeAll(client); managerInstance->m_clients.removeAll(client);
delete client; delete client;