diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp index 839ecb0cdd5..31c6a951207 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;