From c5941f9fec12b806c351ac4a44cf693dee5cdff2 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Wed, 30 Sep 2015 14:08:03 +0200 Subject: [PATCH] Clang: Call updateTranslationUnit for reloaded files If a file is reloaded it should update every translation unit. Change-Id: Ib61d933e95fcd9fe4d32363ddc06f5edcca55e35 Reviewed-by: Nikolai Kosjar --- src/plugins/clangcodemodel/clangbackendipcintegration.cpp | 7 ++++++- src/plugins/clangcodemodel/clangbackendipcintegration.h | 1 + src/plugins/clangcodemodel/clangmodelmanagersupport.cpp | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/plugins/clangcodemodel/clangbackendipcintegration.cpp b/src/plugins/clangcodemodel/clangbackendipcintegration.cpp index b71eaf0d76d..29fd1907245 100644 --- a/src/plugins/clangcodemodel/clangbackendipcintegration.cpp +++ b/src/plugins/clangcodemodel/clangbackendipcintegration.cpp @@ -466,7 +466,12 @@ void IpcCommunicator::updateTranslationUnitIfNotCurrentDocument(Core::IDocument { QTC_ASSERT(document, return); if (Core::EditorManager::currentDocument() != document) - updateTranslationUnitFromCppEditorDocument(document->filePath().toString()); + updateTranslationUnit(document); +} + +void IpcCommunicator::updateTranslationUnit(Core::IDocument *document) +{ + updateTranslationUnitFromCppEditorDocument(document->filePath().toString()); } void IpcCommunicator::updateUnsavedFile(Core::IDocument *document) diff --git a/src/plugins/clangcodemodel/clangbackendipcintegration.h b/src/plugins/clangcodemodel/clangbackendipcintegration.h index 9c0a938538d..010dbee58a6 100644 --- a/src/plugins/clangcodemodel/clangbackendipcintegration.h +++ b/src/plugins/clangcodemodel/clangbackendipcintegration.h @@ -131,6 +131,7 @@ public: void registerProjectsParts(const QList projectParts); void updateTranslationUnitIfNotCurrentDocument(Core::IDocument *document); + void updateTranslationUnit(Core::IDocument *document); void updateUnsavedFile(Core::IDocument *document); void updateTranslationUnitFromCppEditorDocument(const QString &filePath); void updateUnsavedFileFromCppEditorDocument(const QString &filePath); diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp index 7b52269c6e0..dee58c99c4b 100644 --- a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp +++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp @@ -172,7 +172,7 @@ void ModelManagerSupportClang::onCppDocumentReloadFinishedOnTranslationUnit(bool { if (success) { Core::IDocument *document = qobject_cast(sender()); - m_ipcCommunicator.updateTranslationUnitIfNotCurrentDocument(document); + m_ipcCommunicator.updateTranslationUnit(document); } }