aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libparser/node/mergenode.cpp
diff options
context:
space:
mode:
authorRenaud Guezennec <renaud@rolisteam.org>2024-10-23 15:42:08 +0200
committerRenaud Guezennec <renaud@rolisteam.org>2024-12-29 14:46:30 +0100
commitcb1dcb5ee28994a2cd691ad696a5ba4c3c3802ea (patch)
treec261de4ad8d0f85aec0200bf500e9579437577df /src/libparser/node/mergenode.cpp
parente4dc41cdc3ebb84ef7e42f5cf261e36fe874c901 (diff)
downloadOneRoll-cb1dcb5ee28994a2cd691ad696a5ba4c3c3802ea.tar.gz
OneRoll-cb1dcb5ee28994a2cd691ad696a5ba4c3c3802ea.zip
Add execute node.
Diffstat (limited to 'src/libparser/node/mergenode.cpp')
-rw-r--r--src/libparser/node/mergenode.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/libparser/node/mergenode.cpp b/src/libparser/node/mergenode.cpp
index 096bb8c..4c19bd7 100644
--- a/src/libparser/node/mergenode.cpp
+++ b/src/libparser/node/mergenode.cpp
@@ -29,16 +29,16 @@ MergeNode::MergeNode() : m_diceResult(new DiceResult())
}
void MergeNode::run(ExecutionNode* previous)
{
- if(nullptr == previous)
- {
- m_errors.insert(Dice::ERROR_CODE::NO_PREVIOUS_ERROR, QObject::tr("No previous node before Merge operator"));
+ if(isValid(!previous, Dice::ERROR_CODE::NO_PREVIOUS_ERROR, tr("No previous node before Merge operator")))
return;
- }
m_previousNode= previous;
m_result->setPrevious(previous->getResult());
ExecutionNode* previousLast= nullptr;
std::vector<Result*> pastResult;
+ if(!m_startList)
+ return;
+
for(auto start : *m_startList)
{
ExecutionNode* last= getLatestNode(start);
@@ -92,11 +92,6 @@ void MergeNode::run(ExecutionNode* previous)
auto first= m_startList->front();
m_startList->clear();
m_startList->push_back(first);
-
- if(nullptr != m_nextNode)
- {
- m_nextNode->run(this);
- }
}
#include <QDebug>
ExecutionNode* MergeNode::getLatestNode(ExecutionNode* node)