From e18f4a9936d03a112b1a05b24b0559e5be602e0e Mon Sep 17 00:00:00 2001 From: Renaud Guezennec Date: Sun, 30 Mar 2025 03:56:37 +0200 Subject: [math]: operator priority fix issue. --- src/libparser/node/parenthesesnode.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/libparser/node/parenthesesnode.cpp') diff --git a/src/libparser/node/parenthesesnode.cpp b/src/libparser/node/parenthesesnode.cpp index d122fe2..17db85a 100644 --- a/src/libparser/node/parenthesesnode.cpp +++ b/src/libparser/node/parenthesesnode.cpp @@ -39,6 +39,21 @@ void ParenthesesNode::run(ExecutionNode* previous) temp= temp->getNextNode(); } m_result= temp->getResult(); + + if(!m_nextNode) + return; + + auto pNext= m_nextNode->getPriority(); + + if(!m_previousNode) + return; + + auto previousNextNode= m_previousNode->getNextNode(); + if(pNext < getPriority() && previousNextNode != this) + { + m_previousNode->setNextNode(m_nextNode); + m_nextNode= nullptr; + } } QString ParenthesesNode::toString(bool b) const { -- cgit v1.2.3-70-g09d2