From 639918809054cffcbaa3850040dda8616d967bf5 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 28 Oct 2019 12:38:54 +0100 Subject: [PATCH] LanguageClient: prevent accessing deleted document By always removing them from the list of opened documents also for uninitialized clients. Fixes crash when closing creator before the initialize response of a language server was handled. Change-Id: I81fb15d8d9d7bf47300a6eac373ef9db04387bd4 Reviewed-by: Christian Stenger --- src/plugins/languageclient/languageclientmanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp index 83b67eadbce..defbd0bdac7 100644 --- a/src/plugins/languageclient/languageclientmanager.cpp +++ b/src/plugins/languageclient/languageclientmanager.cpp @@ -459,7 +459,7 @@ void LanguageClientManager::openDocumentWithClient(TextEditor::TextDocument *doc void LanguageClientManager::documentClosed(Core::IDocument *document) { if (auto textDocument = qobject_cast(document)) { - for (Client *client : reachableClients()) + for (Client *client : m_clients) client->closeDocument(textDocument); m_clientForDocument.remove(textDocument); }