LSP: fix crash after last server restart attempt

The client got indirectly deleted from the manager while still in the
parsing output function during the last restart attempt. Fixing it by
freeing the client via deleteLater.

Change-Id: I2539a8b96b5568dc2ae15a6bfe4f2ab02c280f67
Fixes: QTCREATORBUG-21635
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2018-12-05 07:49:05 +01:00
parent c975f2f3ea
commit 257df2e4b8

View File

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