LanguageClient: Do not send document updates when canceling a request

Change-Id: Ied675bb0eca353fd5ffe26540d99bafb6a874c0d
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2021-07-08 12:11:15 +02:00
parent 397f4054c7
commit 4d3ed0fa93
2 changed files with 9 additions and 4 deletions

View File

@@ -400,11 +400,12 @@ void Client::openDocument(TextEditor::TextDocument *document)
}
}
void Client::sendContent(const IContent &content)
void Client::sendContent(const IContent &content, SendDocUpdates sendUpdates)
{
QTC_ASSERT(m_clientInterface, return);
QTC_ASSERT(m_state == Initialized, return);
sendPostponedDocumentUpdates();
if (sendUpdates == SendDocUpdates::Send)
sendPostponedDocumentUpdates();
if (Utils::optional<ResponseHandler> responseHandler = content.responseHandler())
m_responseHandlers[responseHandler->id] = responseHandler->callback;
QString error;
@@ -418,7 +419,7 @@ void Client::sendContent(const IContent &content)
void Client::cancelRequest(const MessageId &id)
{
m_responseHandlers.remove(id);
sendContent(CancelRequest(CancelParameter(id)));
sendContent(CancelRequest(CancelParameter(id)), SendDocUpdates::Ignore);
}
void Client::closeDocument(TextEditor::TextDocument *document)