aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/projecttree.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/projectexplorer/projecttree.cpp')
-rw-r--r--src/plugins/projectexplorer/projecttree.cpp14
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) {