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 <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2016-11-04 14:20:25 +01:00
committed by Tim Jenssen
parent e3b38b8a34
commit 6b469e81e8

View File

@@ -411,6 +411,10 @@ void FolderNode::buildTree(QList<FileNode *> &files)
for (auto i = deletedFolderMapping.constBegin(); i != deletedFolderMapping.constEnd(); ++i) { for (auto i = deletedFolderMapping.constBegin(); i != deletedFolderMapping.constEnd(); ++i) {
ProjectExplorer::FolderNode *parent = i.key(); ProjectExplorer::FolderNode *parent = i.key();
parent->removeFileNodes(i.value()); parent->removeFileNodes(i.value());
if (parent == this) // Never delete this node!
continue;
// Check for empty parent // Check for empty parent
while (parent->subFolderNodes().isEmpty() && parent->fileNodes().isEmpty()) { while (parent->subFolderNodes().isEmpty() && parent->fileNodes().isEmpty()) {
ProjectExplorer::FolderNode *grandparent = parent->parentFolderNode(); ProjectExplorer::FolderNode *grandparent = parent->parentFolderNode();