From 7579294d9d86a355b0fca8220da479df8d443cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Tue, 23 Oct 2018 17:00:57 +0200 Subject: [PATCH] [poincare] Fix Function (keep value after replaceSymbolWithExpression) --- poincare/src/function.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/poincare/src/function.cpp b/poincare/src/function.cpp index fa66c0e70..d7fa5c3cb 100644 --- a/poincare/src/function.cpp +++ b/poincare/src/function.cpp @@ -121,7 +121,7 @@ Expression Function::replaceSymbolWithExpression(const SymbolAbstract & symbol, // Replace the unknown in the new expression by the function's child Symbol xSymbol = Symbol(Symbol::SpecialSymbols::UnknownX); Expression xValue = childAtIndex(0); - value.replaceSymbolWithExpression(xSymbol, xValue); + value = value.replaceSymbolWithExpression(xSymbol, xValue); Expression p = parent(); if (!p.isUninitialized() && p.node()->childNeedsParenthesis(value.node())) { value = Parenthesis(value); @@ -141,7 +141,7 @@ Expression Function::shallowReduce(Context & context, Preferences::AngleUnit ang // We need to replace the unknown witht the child Expression result = e.clone(); Symbol x = Symbol(Symbol::SpecialSymbols::UnknownX); - result.replaceSymbolWithExpression(x, childAtIndex(0)); + result = result.replaceSymbolWithExpression(x, childAtIndex(0)); replaceWithInPlace(result); return result.deepReduce(context, angleUnit, replaceSymbols); }