diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index 8c1443c26554831726c59b301339e96bf72dbe4a..486075eb16fee524fac5db35d376ddffba5c2a58 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -178,7 +178,11 @@ void ProjectTreeWidget::foldersAboutToBeRemoved(FolderNode *, const QList<Folder while(n) { if (FolderNode *fn = qobject_cast<FolderNode *>(n)) { if (list.contains(fn)) { - m_explorer->setCurrentNode(n->projectNode()); + ProjectNode *pn = n->projectNode(); + // Make sure the node we are switching too isn't going to be removed also + while (list.contains(pn)) + pn = pn->parentFolderNode()->projectNode(); + m_explorer->setCurrentNode(pn); break; } }