From 19bfcc83af1e4da95e27a2e94193d4825f10ba20 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Mon, 20 Aug 2012 15:06:55 +0200
Subject: [PATCH] Fix crash on exit

Fix crash happening when closing creator after the toolchain settings
were shown.

Change-Id: I4ed3b4cb0c3a2c303ba0d346d90fd275022457da
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
---
 .../projectexplorer/toolchainoptionspage.cpp   | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp
index 5055ce9f543..9a3be078714 100644
--- a/src/plugins/projectexplorer/toolchainoptionspage.cpp
+++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp
@@ -484,7 +484,7 @@ QWidget *ToolChainOptionsPage::createPage(QWidget *parent)
     horizontalLayout->addLayout(verticalLayout);
     horizontalLayout->addLayout(buttonLayout);
     Q_ASSERT(!m_model);
-    m_model = new ToolChainModel(verticalLayout);
+    m_model = new ToolChainModel(m_configWidget);
 
     connect(m_model, SIGNAL(toolChainStateChanged()), this, SLOT(updateState()));
 
@@ -548,14 +548,16 @@ void ToolChainOptionsPage::apply()
 
 void ToolChainOptionsPage::finish()
 {
-    if (m_model) {
-        m_model->deleteLater();
-        m_model = 0;
-    }
+    disconnect(ToolChainManager::instance(), SIGNAL(toolChainsChanged()),
+               this, SLOT(toolChainSelectionChanged()));
+
+    // delete by settingsdialog;
+    m_configWidget = 0;
 
-    m_configWidget = 0; // deleted by settingsdialog
-    m_selectionModel = 0; // child of m_configWidget
-    // childs of m_configWidget
+    // children of m_configWidget
+    m_model = 0;
+    m_container = 0;
+    m_selectionModel = 0;
     m_toolChainView = 0;
     m_addButton = 0;
     m_cloneButton = 0;
-- 
GitLab