diff options
| author | 2017-03-10 01:15:13 +0100 | |
|---|---|---|
| committer | 2017-03-10 01:15:13 +0100 | |
| commit | 993a636818d237feaca1870a65b72ab1d4ead31d (patch) | |
| tree | 129b90b4e4c467e745ac0d583afbce4c8a2d9461 | |
| parent | 527011e141ea8022a2bb41a52ef64fbb6cac0cfe (diff) | |
| download | OneRoll-993a636818d237feaca1870a65b72ab1d4ead31d.tar.gz OneRoll-993a636818d237feaca1870a65b72ab1d4ead31d.zip | |
-fix @ operator.
| -rw-r--r-- | diceparser.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/diceparser.cpp b/diceparser.cpp index 4c51d55..b40d5e9 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -770,10 +770,15 @@ bool DiceParser::readOperator(QString& str,ExecutionNode* previous) nodeExecOrChild = nodeExecOrChild->getNextNode(); } - if((nullptr != nodeExecOrChild)&&(nodeExec != nodeExecOrChild)) + // management of operator priority + if((nullptr != nodeExecOrChild)&&(nodeExec != nodeExecOrChild)) { - node->setNextNode(nodeExecOrChild); - parent->setNextNode(NULL); + // good 1 1 2 ; bad 1 0 4 + if(nodeExecOrChild->getPriority()>=node->getPriority()) + { + node->setNextNode(nodeExecOrChild); + parent->setNextNode(NULL); + } } else if(node->getPriority()>=nodeExec->getPriority()) { |