From 2d0cd7906798004bb276b0f858e24c5e3e4f8ceb Mon Sep 17 00:00:00 2001 From: hjk <hjk@theqtcompany.com> Date: Fri, 6 Feb 2015 22:37:31 +0100 Subject: [PATCH] TreeModel: Ensure deterministic state during child destruction This allows tree items to rely on not being part of a model inside their destuctors. Change-Id: I5f19739d3701426b068a07bf82f5199fbb259f29 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com> --- src/libs/utils/treemodel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/utils/treemodel.cpp b/src/libs/utils/treemodel.cpp index dda0d6f2e6c..4390dd5e737 100644 --- a/src/libs/utils/treemodel.cpp +++ b/src/libs/utils/treemodel.cpp @@ -624,7 +624,7 @@ TreeItem::TreeItem(const QStringList &displays, int flags) TreeItem::~TreeItem() { - clear(); + removeChildren(); delete m_displays; } @@ -818,6 +818,7 @@ void TreeItem::clear() { while (m_children.size()) { TreeItem *item = m_children.takeLast(); + item->m_model = 0; item->m_parent = 0; delete item; } -- GitLab