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