From e62f3bc8c0c91d6072ac4799a3e0acdc5ee51245 Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed Date: Thu, 30 Oct 2014 13:38:12 +0100 Subject: [PATCH] KitAreaWidget: fix crash on quit Change-Id: I70145eae04f2fc885846215796e54578d7a9c897 Task-number: QTCREATORBUG-13258 Reviewed-by: Tobias Hunger --- .../projectexplorer/miniprojecttargetselector.cpp | 9 ++++++++- src/plugins/projectexplorer/miniprojecttargetselector.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index ba78e46eb06..17a312e9710 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -549,13 +549,20 @@ KitAreaWidget::KitAreaWidget(QWidget *parent) : QWidget(parent), m_layout(new QGridLayout(this)), m_kit(0) { m_layout->setMargin(3); +} + +KitAreaWidget::~KitAreaWidget() +{ setKit(0); } void KitAreaWidget::setKit(Kit *k) { + if (k == m_kit) + return; + foreach (KitConfigWidget *w, m_widgets) - w->deleteLater(); + delete(w); m_widgets.clear(); foreach (QLabel *l, m_labels) l->deleteLater(); diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.h b/src/plugins/projectexplorer/miniprojecttargetselector.h index a13e30dab68..ad91702371c 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.h +++ b/src/plugins/projectexplorer/miniprojecttargetselector.h @@ -95,6 +95,7 @@ class KitAreaWidget : public QWidget Q_OBJECT public: explicit KitAreaWidget(QWidget *parent = 0); + ~KitAreaWidget(); public slots: void setKit(ProjectExplorer::Kit *k);