From 6b469e81e8da010b4a03933d6b60c7a6ddf36040 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 4 Nov 2016 14:20:25 +0100 Subject: [PATCH] ProjectExplorer: Never delete base node when building a tree Never delete the base folder node when using buildTree to set up a tree of files in the project tree. This makes sure the node stays around, even when it turns empty. This matches how buildTree is used in our code. Change-Id: Id2a589985d9ac704316db5f210232532dcdb5d58 Reviewed-by: Tim Jenssen --- src/plugins/projectexplorer/projectnodes.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index 1df2142397a..97e59b99a80 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -411,6 +411,10 @@ void FolderNode::buildTree(QList &files) for (auto i = deletedFolderMapping.constBegin(); i != deletedFolderMapping.constEnd(); ++i) { ProjectExplorer::FolderNode *parent = i.key(); parent->removeFileNodes(i.value()); + + if (parent == this) // Never delete this node! + continue; + // Check for empty parent while (parent->subFolderNodes().isEmpty() && parent->fileNodes().isEmpty()) { ProjectExplorer::FolderNode *grandparent = parent->parentFolderNode();