From 4e4c1bb2ad9b736f0920d866bdf7b5c90e6fe2e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 12 Jul 2018 10:37:30 +0200 Subject: [PATCH] [poincare] Fix TreeReference::replaceTreeChildAtIndex --- poincare/include/poincare/tree_reference.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/poincare/include/poincare/tree_reference.h b/poincare/include/poincare/tree_reference.h index 41b3cf121..ef60f88a8 100644 --- a/poincare/include/poincare/tree_reference.h +++ b/poincare/include/poincare/tree_reference.h @@ -185,7 +185,9 @@ public: assert(oldChildIndex >= 0 && oldChildIndex < numberOfChildren()); TreeReference oldChild = treeChildAtIndex(oldChildIndex); TreePool::sharedPool()->move(oldChild.node()->next(), newChild.node()); - newChild.node()->retain(); + if (!p.isDefined()) { + newChild.node()->retain(); + } TreePool::sharedPool()->move(TreePool::sharedPool()->last(), oldChild.node()); oldChild.node()->release(); }