diff --git a/src/plugins/projectexplorer/kitmodel.cpp b/src/plugins/projectexplorer/kitmodel.cpp index 1e094d914ac..a968799ae5e 100644 --- a/src/plugins/projectexplorer/kitmodel.cpp +++ b/src/plugins/projectexplorer/kitmodel.cpp @@ -246,6 +246,9 @@ void KitModel::markForRemoval(Kit *k) setDefaultNode(static_cast(newDefault)); } + if (node == m_defaultNode) + setDefaultNode(findItemAtLevel(2, [node](KitNode *kn) { return kn != node; })); + removeItem(node); if (node->widget->configures(0)) delete node; @@ -353,8 +356,9 @@ void KitModel::removeKit(Kit *k) } } - if (m_defaultNode == node) - m_defaultNode = 0; + if (node == m_defaultNode) + setDefaultNode(findItemAtLevel(2, [node](KitNode *kn) { return kn != node; })); + removeItem(node); delete node;