From ad9365d8fd5ddfff278ab0f6faea129d17e49b64 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 18 Feb 2022 12:38:31 +0100 Subject: [PATCH] LanguageClient: Do not assert on opening the same document twice Just silently ignore a second open. This is now consistent with LanguageClientManager::openDocumentWithClient that also supports calling it multiple times with the same document client combination. Change-Id: I6e8eaf312805cd4e82070209b414d63433158360 Reviewed-by: Christian Stenger --- src/plugins/languageclient/client.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index e4923f3bc84..3d23d0cfb48 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -358,7 +358,7 @@ void Client::setClientCapabilities(const LanguageServerProtocol::ClientCapabilit void Client::openDocument(TextEditor::TextDocument *document) { using namespace TextEditor; - if (!isSupportedDocument(document)) + if (m_openedDocument.contains(document) || !isSupportedDocument(document)) return; if (m_state != Initialized) { @@ -366,8 +366,6 @@ void Client::openDocument(TextEditor::TextDocument *document) return; } - QTC_ASSERT(!m_openedDocument.contains(document), return); - const FilePath &filePath = document->filePath(); const QString method(DidOpenTextDocumentNotification::methodName); if (Utils::optional registered = m_dynamicCapabilities.isRegistered(method)) {