From 04763a307d6080482b10c904500779e8d0449dc0 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 8 Sep 2021 13:24:45 +0200 Subject: [PATCH] Clangd: prevent adding refactorings for outdated documents Change-Id: I658662dca345e1ae209a4d74e145b59c44417b00 Reviewed-by: Christian Kandeler --- src/plugins/clangcodemodel/clangdclient.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index 3a5df5b6aea..ae2d2cc07eb 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -906,6 +906,9 @@ void ClangdClient::handleDiagnostics(const PublishDiagnosticsParams ¶ms) { const DocumentUri &uri = params.uri(); Client::handleDiagnostics(params); + const int docVersion = documentVersion(uri.toFilePath()); + if (params.version().value_or(docVersion) != docVersion) + return; for (const Diagnostic &diagnostic : params.diagnostics()) { const ClangdDiagnostic clangdDiagnostic(diagnostic); for (const CodeAction &action : clangdDiagnostic.codeActions().value_or(QList{}))