diff options
author | dt <qtc-committer@nokia.com> | 2009-06-26 16:50:49 +0200 |
---|---|---|
committer | dt <qtc-committer@nokia.com> | 2009-06-30 11:51:28 +0200 |
commit | c41e84feef46ac68ee6e36db3e50031171765243 (patch) | |
tree | 548effe66ed832b136a673d32731f5c16e4718a7 | |
parent | e6f36f0abaebc0d66063ab9f9980e9c02232e7b6 (diff) | |
download | qt-creator-c41e84feef46ac68ee6e36db3e50031171765243.tar.gz |
Fix crash on removing a .pro file from the project with creator open
-rw-r--r-- | src/plugins/projectexplorer/projecttreewidget.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index 8c1443c265..486075eb16 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; } } |