aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2018-12-28 23:28:12 +0100
committerRenaud G <renaud@rolisteam.org>2019-01-13 16:30:03 +0100
commit1b6a7113d9cbcfcd7f5f8b21b0085f97c010a6f3 (patch)
tree648ecc5ea39ba19290b772be578e59b82525da44
parent0fcbfc01baf4dc8fc42fe9a40033be14808c2c7f (diff)
downloadOneRoll-1b6a7113d9cbcfcd7f5f8b21b0085f97c010a6f3.tar.gz
OneRoll-1b6a7113d9cbcfcd7f5f8b21b0085f97c010a6f3.zip
-add error when previous is null.
-rw-r--r--node/executionnode.h2
-rw-r--r--node/mergenode.cpp6
-rw-r--r--node/paintnode.cpp3
3 files changed, 9 insertions, 2 deletions
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