diff --git a/src/plugins/cmakeprojectmanager/servermodereader.cpp b/src/plugins/cmakeprojectmanager/servermodereader.cpp index 000a6a376ef..871ede041aa 100644 --- a/src/plugins/cmakeprojectmanager/servermodereader.cpp +++ b/src/plugins/cmakeprojectmanager/servermodereader.cpp @@ -538,6 +538,7 @@ void ServerModeReader::addCMakeLists(CMakeProjectNode *root, const QList ProjectExplorer::FolderNode * { return cmakeDirs.contains(fp) ? new CMakeListsNode(fp) : new FolderNode(fp); }); + root->compress(); } static ProjectNode *findCMakeNode(ProjectNode *root, const Utils::FileName &dir) diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index bfdb15821a0..633847e25dd 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -520,6 +520,8 @@ void FolderNode::compress() { QList children = nodes(); if (auto subFolder = children.count() == 1 ? children.at(0)->asFolderNode() : nullptr) { + if (subFolder->nodeType() != nodeType()) + return; // Only one subfolder: Compress! setDisplayName(QDir::toNativeSeparators(displayName() + "/" + subFolder->displayName())); for (Node *n : subFolder->nodes()) {