From 1b6a7113d9cbcfcd7f5f8b21b0085f97c010a6f3 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Fri, 28 Dec 2018 23:28:12 +0100 Subject: -add error when previous is null. --- node/executionnode.h | 2 +- node/mergenode.cpp | 6 ++++++ node/paintnode.cpp | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'node') diff --git a/node/executionnode.h b/node/executionnode.h index 53ea83b..d1a44c4 100644 --- a/node/executionnode.h +++ b/node/executionnode.h @@ -18,7 +18,7 @@ public: NOTHING_UNDERSTOOD, NO_DICE_TO_ROLL, TOO_MANY_DICE,NO_VARIBALE, - INVALID_INDEX,UNEXPECTED_CHARACTER}; + INVALID_INDEX,UNEXPECTED_CHARACTER, NO_PREVIOUS_ERROR}; /** * @brief ExecutionNode */ diff --git a/node/mergenode.cpp b/node/mergenode.cpp index c79521b..f866db6 100644 --- a/node/mergenode.cpp +++ b/node/mergenode.cpp @@ -28,6 +28,12 @@ MergeNode::MergeNode() } void MergeNode::run(ExecutionNode* previous) { + if(nullptr == previous) + { + m_errors.insert(ExecutionNode::NO_PREVIOUS_ERROR, QObject::tr("No previous node before Merge operator")); + return; + } + m_previousNode = previous; m_result->setPrevious(previous->getResult()); ExecutionNode* previousLast =nullptr; diff --git a/node/paintnode.cpp b/node/paintnode.cpp index 79aee60..8fea3f4 100644 --- a/node/paintnode.cpp +++ b/node/paintnode.cpp @@ -69,6 +69,7 @@ void PainterNode::run(ExecutionNode* previous) m_previousNode = previous; if(nullptr==previous) { + m_errors.insert(ExecutionNode::NO_PREVIOUS_ERROR, QObject::tr("No previous node before Paint operator")); return; } Result* previousResult = previous->getResult(); @@ -97,7 +98,7 @@ void PainterNode::run(ExecutionNode* previous) } Result* PainterNode::getResult() { - return m_previousNode->getResult(); + return (nullptr != m_previousNode) ? m_previousNode->getResult() : nullptr ; } QString PainterNode::toString(bool wl) const -- cgit v1.2.3-70-g09d2