diff options
Diffstat (limited to 'src/plugins/clangcodemodel/clangdiagnosticmanager.cpp')
-rw-r--r-- | src/plugins/clangcodemodel/clangdiagnosticmanager.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/clangcodemodel/clangdiagnosticmanager.cpp b/src/plugins/clangcodemodel/clangdiagnosticmanager.cpp index f8afaf6565..f5fe4d6368 100644 --- a/src/plugins/clangcodemodel/clangdiagnosticmanager.cpp +++ b/src/plugins/clangcodemodel/clangdiagnosticmanager.cpp @@ -41,6 +41,7 @@ #include <utils/fileutils.h> #include <utils/proxyaction.h> #include <utils/qtcassert.h> +#include <utils/theme/theme.h> #include <QFileInfo> #include <QTextBlock> @@ -347,6 +348,19 @@ ClangDiagnosticManager::diagnosticsAt(uint line, uint column) const return diagnostics; } +void ClangDiagnosticManager::invalidateDiagnostics() +{ + if (m_diagnosticsInvalidated) + return; + + m_diagnosticsInvalidated = true; + for (ClangTextMark *textMark : m_clangTextMarks) { + textMark->setColor(::Utils::Theme::Color::IconsDisabledColor); + textMark->updateIcon(/*valid=*/ false); + textMark->updateMarker(); + } +} + void ClangDiagnosticManager::clearDiagnosticsWithFixIts() { m_fixItdiagnostics.clear(); @@ -364,6 +378,7 @@ void ClangDiagnosticManager::generateEditorSelections() void ClangDiagnosticManager::processNewDiagnostics( const QVector<ClangBackEnd::DiagnosticContainer> &allDiagnostics) { + m_diagnosticsInvalidated = false; filterDiagnostics(allDiagnostics); generateTextMarks(); |