diff options
Diffstat (limited to 'src/plugins/projectexplorer/projecttree.cpp')
-rw-r--r-- | src/plugins/projectexplorer/projecttree.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/plugins/projectexplorer/projecttree.cpp b/src/plugins/projectexplorer/projecttree.cpp index 3e89539aac..c87d19c5ff 100644 --- a/src/plugins/projectexplorer/projecttree.cpp +++ b/src/plugins/projectexplorer/projecttree.cpp @@ -225,10 +225,16 @@ void ProjectTree::update(Node *node, Project *project) } } - if (!node && Core::EditorManager::currentDocument()) { - connect(Core::EditorManager::currentDocument(), &Core::IDocument::changed, - this, &ProjectTree::updateExternalFileWarning, - Qt::UniqueConnection); + if (Core::IDocument *document = Core::EditorManager::currentDocument()) { + if (node) { + disconnect(document, &Core::IDocument::changed, + this, &ProjectTree::updateExternalFileWarning); + document->infoBar()->removeInfo(EXTERNAL_FILE_WARNING); + } else { + connect(document, &Core::IDocument::changed, + this, &ProjectTree::updateExternalFileWarning, + Qt::UniqueConnection); + } } if (changedNode) { |