aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/projectexplorer/projectnodes.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp
index 3b1d7c049b..1b694aa85c 100644
--- a/src/plugins/projectexplorer/projectnodes.cpp
+++ b/src/plugins/projectexplorer/projectnodes.cpp
@@ -616,8 +616,12 @@ void FolderNode::addNestedNodes(std::vector<std::unique_ptr<FileNode> > &&files,
void FolderNode::compress()
{
if (auto subFolder = m_nodes.size() == 1 ? m_nodes.at(0)->asFolderNode() : nullptr) {
- if (subFolder->nodeType() != nodeType())
+ const bool sameType = (isFolderNodeType() && subFolder->isFolderNodeType())
+ || (isProjectNodeType() && subFolder->isProjectNodeType())
+ || (isVirtualFolderType() && subFolder->isVirtualFolderType());
+ if (!sameType)
return;
+
// Only one subfolder: Compress!
setDisplayName(QDir::toNativeSeparators(displayName() + "/" + subFolder->displayName()));
for (Node *n : subFolder->nodes()) {