diff options
| author | 2017-01-28 00:21:00 +0100 | |
|---|---|---|
| committer | 2017-01-28 00:21:00 +0100 | |
| commit | b32ef6a8fc508c41f8e48ea162d79f11eade05ab (patch) | |
| tree | f4c1df8f4da361099fb6c12c4b0c4fc6bff66a44 /node/explosedicenode.cpp | |
| parent | 64f67b9dfa97d305e091f081132d4768c833f7fd (diff) | |
| download | OneRoll-b32ef6a8fc508c41f8e48ea162d79f11eade05ab.tar.gz OneRoll-b32ef6a8fc508c41f8e48ea162d79f11eade05ab.zip | |
-Make copy of die instead of copy address, prevent crash while using the
same diceparser several times.
Diffstat (limited to 'node/explosedicenode.cpp')
| -rw-r--r-- | node/explosedicenode.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/node/explosedicenode.cpp b/node/explosedicenode.cpp index 33c15d2..51fc37e 100644 --- a/node/explosedicenode.cpp +++ b/node/explosedicenode.cpp @@ -14,7 +14,15 @@ void ExploseDiceNode::run(ExecutionNode* previous) m_result->setPrevious(previous_result); if(NULL!=previous_result) { - QList<Die*> list = previous_result->getResultList(); + foreach(Die* die,previous_result->getResultList()) + { + Die* tmpdie = new Die(); + *tmpdie=*die; + m_diceResult->insertResult(tmpdie); + die->displayed(); + } + + QList<Die*> list = m_diceResult->getResultList(); foreach(Die* die, list) @@ -24,7 +32,7 @@ void ExploseDiceNode::run(ExecutionNode* previous) die->roll(true); } } - m_diceResult->setResultList(list); + // m_diceResult->setResultList(list); if(NULL!=m_nextNode) { |