forked from qt-creator/qt-creator
LanguageClient: Fix possible crash on shutdown
If a shutdown is in progress we need an immediately delete of the client to avoid accessing an already deleted TextMarkRegistry instance when deleteLater() is triggered too late. Change-Id: I274f40532cec0bfc026322a633441a1856cb848c Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -125,7 +125,10 @@ void LanguageClientManager::deleteClient(Client *client)
|
|||||||
QTC_ASSERT(client, return);
|
QTC_ASSERT(client, return);
|
||||||
client->disconnect();
|
client->disconnect();
|
||||||
managerInstance->m_clients.removeAll(client);
|
managerInstance->m_clients.removeAll(client);
|
||||||
client->deleteLater();
|
if (managerInstance->m_shuttingDown)
|
||||||
|
delete client;
|
||||||
|
else
|
||||||
|
client->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LanguageClientManager::shutdown()
|
void LanguageClientManager::shutdown()
|
||||||
|
Reference in New Issue
Block a user