forked from qt-creator/qt-creator
ProjectExplorer: Don't rebuild all projects' tree when one is closed
Removes some quadratic-in-number-of-projects behavior on session close/switch. Change-Id: If93bb9a67b0bebddda5319a7594a99ae66f50f5a Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -477,10 +477,13 @@ void Project::setRootProjectNode(ProjectNode *root)
|
||||
|
||||
ProjectNode *oldNode = d->m_rootProjectNode;
|
||||
d->m_rootProjectNode = root;
|
||||
if (root)
|
||||
if (root) {
|
||||
root->setParentFolderNode(d->m_containerNode);
|
||||
ProjectTree::emitSubtreeChanged(root);
|
||||
emit fileListChanged();
|
||||
// Only announce non-null root, null is only used when project is destroyed.
|
||||
// In that case SessionManager::projectRemoved() triggers the update.
|
||||
ProjectTree::emitSubtreeChanged(root);
|
||||
emit fileListChanged();
|
||||
}
|
||||
|
||||
delete oldNode;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user