aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'diceparser.cpp')
-rw-r--r--diceparser.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index 5c0590c..7adf610 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -368,11 +368,12 @@ bool DiceParser::hasResultOfType(Dice::RESULT_TYPE type, ExecutionNode* node, QV
bool scalarDone= false;
ExecutionNode* next= ParsingToolBox::getLeafNode(node);
Result* result= next->getResult();
+ int i= 0;
while((result != nullptr) && (!scalarDone))
{
bool lastResult= false;
if(notthelast)
- lastResult= (nullptr == result->getPrevious());
+ lastResult= (nullptr == result->getPrevious() && i != 0);
if(result->hasResultOfType(type) && !lastResult)
{
@@ -380,6 +381,7 @@ bool DiceParser::hasResultOfType(Dice::RESULT_TYPE type, ExecutionNode* node, QV
value= result->getResult(type);
}
result= result->getPrevious();
+ ++i;
}
return scalarDone;
}