diff --git a/src/libs/utils/treemodel.cpp b/src/libs/utils/treemodel.cpp index 424bc49a246..4a34181d2b5 100644 --- a/src/libs/utils/treemodel.cpp +++ b/src/libs/utils/treemodel.cpp @@ -770,15 +770,6 @@ QModelIndex TreeItem::index() const return m_model->indexForItem(this); } -void TreeItem::setModel(TreeModel *model) -{ - if (m_model == model) - return; - m_model = model; - foreach (TreeItem *item, m_children) - item->setModel(model); -} - void TreeItem::walkTree(TreeItemVisitor *visitor) { if (visitor->preVisit(this)) { @@ -972,6 +963,9 @@ int TreeModel::topLevelItemCount() const void TreeModel::setRootItem(TreeItem *item) { + QTC_ASSERT(item, return); + QTC_ASSERT(item->m_model == 0, return); + QTC_ASSERT(item->m_parent == 0, return); QTC_CHECK(m_root); if (m_root) { QTC_CHECK(m_root->m_parent == 0); @@ -980,7 +974,7 @@ void TreeModel::setRootItem(TreeItem *item) delete m_root; } m_root = item; - item->setModel(this); + item->propagateModel(this); emit layoutChanged(); } diff --git a/src/libs/utils/treemodel.h b/src/libs/utils/treemodel.h index e33be6ec785..c151fe1509d 100644 --- a/src/libs/utils/treemodel.h +++ b/src/libs/utils/treemodel.h @@ -101,7 +101,6 @@ public: QModelIndex index() const; TreeModel *model() const { return m_model; } - void setModel(TreeModel *model); void walkTree(TreeItemVisitor *visitor); void walkTree(std::function f);