From 60ffb91ffd5e68c61d6f2edd19e20aa44b08e96b Mon Sep 17 00:00:00 2001
From: hjk <qthjk@ovi.com>
Date: Mon, 22 Oct 2012 10:01:49 +0200
Subject: [PATCH] ProjectExplorer: clearer destruction of ToolChainNodes

Change-Id: I7f03d5649230eaa0dd6c54281a10e04f14a8526c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 .../projectexplorer/toolchainoptionspage.cpp        | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp
index 839ecb0cdd..31c6a95120 100644
--- a/src/plugins/projectexplorer/toolchainoptionspage.cpp
+++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp
@@ -73,13 +73,16 @@ public:
 
     ~ToolChainNode()
     {
-        if (parent)
-            parent->childNodes.removeOne(this);
-
-        qDeleteAll(childNodes);
         // Do not delete tool chain, we do not own it.
 
-        Q_ASSERT(childNodes.isEmpty());
+        for (int i = childNodes.size(); --i >= 0; ) {
+            ToolChainNode *child = childNodes.at(i);
+            child->parent = 0;
+            delete child;
+        }
+
+        if (parent)
+            parent->childNodes.removeOne(this);
     }
 
     ToolChainNode *parent;
-- 
GitLab