diff options
author | Christian Stenger <christian.stenger@qt.io> | 2018-10-26 11:02:33 +0200 |
---|---|---|
committer | Christian Stenger <christian.stenger@qt.io> | 2018-11-05 09:33:48 +0000 |
commit | 88a6276551cfdf04a248388759a361fc8aace49e (patch) | |
tree | d3f718cedccc6be9b7bc9c441a1452edb071a729 /src/plugins/languageclient/languageclientmanager.cpp | |
parent | 02760eafc803dd47050e6e4e9d2b42d7d1850e3b (diff) | |
download | qt-creator-88a6276551cfdf04a248388759a361fc8aace49e.tar.gz |
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>
Diffstat (limited to 'src/plugins/languageclient/languageclientmanager.cpp')
-rw-r--r-- | src/plugins/languageclient/languageclientmanager.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp index a94d2f98cd..0852904690 100644 --- a/src/plugins/languageclient/languageclientmanager.cpp +++ b/src/plugins/languageclient/languageclientmanager.cpp @@ -205,6 +205,7 @@ void LanguageClientManager::reportFinished(const MessageId &id, BaseClient *byCl void LanguageClientManager::deleteClient(BaseClient *client) { QTC_ASSERT(client, return); + client->disconnect(managerInstance); managerInstance->removeMarks(client->id()); managerInstance->m_clients.removeAll(client); delete client; |