diff --git a/poincare/include/poincare/tree_by_reference.h b/poincare/include/poincare/tree_by_reference.h index af6a91b11..8e1bf340f 100644 --- a/poincare/include/poincare/tree_by_reference.h +++ b/poincare/include/poincare/tree_by_reference.h @@ -17,7 +17,11 @@ public: TreeByReference(TreeByReference&& tr) : m_identifier(TreePool::NoNodeIdentifier) { setIdentifierAndRetain(tr.identifier()); } - ~TreeByReference(); + ~TreeByReference() { + assert(node()->identifier() == m_identifier); + TreeNode * n = node(); + n->release(n->numberOfChildren()); //TODO No malformed nodes ? + } /* Operators */ TreeByReference& operator=(const TreeByReference& tr) { diff --git a/poincare/src/tree_by_reference.cpp b/poincare/src/tree_by_reference.cpp index 858f34584..09761d0a4 100644 --- a/poincare/src/tree_by_reference.cpp +++ b/poincare/src/tree_by_reference.cpp @@ -8,11 +8,6 @@ namespace Poincare { /* Constructors */ -TreeByReference::~TreeByReference() { - assert(node()->identifier() == m_identifier); - node()->release(numberOfChildren()); //TODO No malformed nodes ? -} - /* Clone */ TreeByReference TreeByReference::clone() const {