From 510b8da8874bdafa0bd72efbd9d0521ccc4d964d Mon Sep 17 00:00:00 2001 From: Renaud G Date: Mon, 9 Apr 2018 10:24:20 +0200 Subject: -Fix #4 crash with mishaped command. And prevent this error to happen with other nodes. --- node/rerolldicenode.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'node/rerolldicenode.cpp') diff --git a/node/rerolldicenode.cpp b/node/rerolldicenode.cpp index c156dac..2ead761 100644 --- a/node/rerolldicenode.cpp +++ b/node/rerolldicenode.cpp @@ -19,7 +19,7 @@ void RerollDiceNode::run(ExecutionNode* previous) m_previousNode = previous; if((nullptr!=previous)&&(nullptr!=previous->getResult())) { - DiceResult* previous_result = static_cast(previous->getResult()); + DiceResult* previous_result = dynamic_cast(previous->getResult()); m_result->setPrevious(previous_result); if(nullptr!=previous_result) { @@ -47,6 +47,11 @@ void RerollDiceNode::run(ExecutionNode* previous) m_nextNode->run(this); } } + else + { + m_errors.insert(ExecutionNode::DIE_RESULT_EXPECTED, + QObject::tr(" The a operator expects dice result. Please check the documentation and fix your command.")); + } } } void RerollDiceNode::setValidator(Validator* val) -- cgit v1.2.3-70-g09d2