forked from qt-creator/qt-creator
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:
committed by
Tim Jenssen
parent
e3b38b8a34
commit
6b469e81e8
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user