aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--node/jumpbackwardnode.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/node/jumpbackwardnode.cpp b/node/jumpbackwardnode.cpp
index b1e7889..0b2cbf6 100644
--- a/node/jumpbackwardnode.cpp
+++ b/node/jumpbackwardnode.cpp
@@ -91,20 +91,29 @@ void JumpBackwardNode::run(ExecutionNode* previous)
m_previousNode = previous;
ExecutionNode* parent = previous;
bool found=false;
- int i = 3;
+ //int i = 3;
Result* result=NULL;
while((NULL!=parent)&&(!found))
{
result = parent->getResult();
- if((NULL!=result))
+ if(NULL!=result)
{
- --i;
- if((i==0)&&(result->hasResultOfType(Result::DICE_LIST)))
+ //--i;
+ if(/*(i==0)&&*/(result->hasResultOfType(Result::DICE_LIST)))
{
found =true;
m_backwardNode = parent;
}
+ else
+ {
+ JumpBackwardNode* jpNode = dynamic_cast<JumpBackwardNode*>(parent);
+ if(NULL!=jpNode)
+ {
+ found = true;
+ m_backwardNode = parent;
+ }
+ }
}
if(!found)
{