From fca5a5c76fc75fe2bf175329ec068a4938468531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 12 Jul 2018 17:26:28 +0200 Subject: [PATCH] [poincare] Fix TreeReference::setTo --- 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 ef60f88a8..c084e5e04 100644 --- a/poincare/include/poincare/tree_reference.h +++ b/poincare/include/poincare/tree_reference.h @@ -279,7 +279,9 @@ protected: } private: void setTo(const TreeReference & tr) { - if (*this == tr) { + /* We cannot use (*this)==tr because tr would need to be casted to + * TreeReference, which calls setTo and triggers an infinite loop */ + if (identifier() == tr.identifier()) { return; } TreeNode * currentNode = node();