forked from qt-creator/qt-creator
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:
@@ -205,10 +205,10 @@ 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);
|
client->disconnect();
|
||||||
managerInstance->removeMarks(client->id());
|
managerInstance->removeMarks(client->id());
|
||||||
managerInstance->m_clients.removeAll(client);
|
managerInstance->m_clients.removeAll(client);
|
||||||
delete client;
|
client->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LanguageClientManager::shutdown()
|
void LanguageClientManager::shutdown()
|
||||||
|
Reference in New Issue
Block a user