diff --git a/src/plugins/cppeditor/cppeditordocument.cpp b/src/plugins/cppeditor/cppeditordocument.cpp index c5a9d40e2ec..d31a4eb899c 100644 --- a/src/plugins/cppeditor/cppeditordocument.cpp +++ b/src/plugins/cppeditor/cppeditordocument.cpp @@ -201,12 +201,17 @@ void CppEditorDocument::onAboutToReload() { QTC_CHECK(!m_fileIsBeingReloaded); m_fileIsBeingReloaded = true; + + processor()->invalidateDiagnostics(); } void CppEditorDocument::onReloadFinished() { QTC_CHECK(m_fileIsBeingReloaded); m_fileIsBeingReloaded = false; + + m_processorRevision = document()->revision(); + processDocument(); } void CppEditorDocument::reparseWithPreferredParseContext(const QString &parseContextId) @@ -250,6 +255,9 @@ void CppEditorDocument::onFilePathChanged(const Utils::FileName &oldPath, void CppEditorDocument::scheduleProcessDocument() { + if (m_fileIsBeingReloaded) + return; + m_processorRevision = document()->revision(); m_processorTimer.start(); processor()->editorDocumentTimerRestarted();