aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node/explosedicenode.cpp
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2017-01-28 00:21:00 +0100
committerRenaud G <renaud@rolisteam.org>2017-01-28 00:21:00 +0100
commitb32ef6a8fc508c41f8e48ea162d79f11eade05ab (patch)
treef4c1df8f4da361099fb6c12c4b0c4fc6bff66a44 /node/explosedicenode.cpp
parent64f67b9dfa97d305e091f081132d4768c833f7fd (diff)
downloadOneRoll-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.cpp12
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)
{