diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index 103cd765fd5..e987ecd8fd9 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -549,6 +549,7 @@ KitAreaWidget::KitAreaWidget(QWidget *parent) : QWidget(parent), m_layout(new QGridLayout(this)), m_kit(0) { m_layout->setMargin(3); + connect(KitManager::instance(), &KitManager::kitUpdated, this, &KitAreaWidget::updateKit); } KitAreaWidget::~KitAreaWidget() @@ -558,21 +559,17 @@ KitAreaWidget::~KitAreaWidget() void KitAreaWidget::setKit(Kit *k) { - if (k == m_kit) - return; - foreach (KitConfigWidget *w, m_widgets) delete(w); m_widgets.clear(); + + if (!k) + return; + foreach (QLabel *l, m_labels) l->deleteLater(); m_labels.clear(); - if (m_kit) { - disconnect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), - this, SLOT(updateKit(ProjectExplorer::Kit*))); - } - int row = 0; foreach (KitInformation *ki, KitManager::kitInformation()) { if (k && k->isMutable(ki->id())) { @@ -588,11 +585,6 @@ void KitAreaWidget::setKit(Kit *k) } m_kit = k; - if (m_kit) { - connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), - this, SLOT(updateKit(ProjectExplorer::Kit*))); - } - setHidden(m_widgets.isEmpty()); }