aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2018-08-12 23:54:31 +0200
committerRenaud G <renaud@rolisteam.org>2018-08-12 23:54:31 +0200
commitacb001bc1909d873a37fbe1c8cbabade76a8015e (patch)
tree224a3b06e565bd479cd2dbd1ac7a8cddf317b626
parent0490332a1e85458059aa761c7a0769fe2fe985c7 (diff)
downloadOneRoll-acb001bc1909d873a37fbe1c8cbabade76a8015e.tar.gz
OneRoll-acb001bc1909d873a37fbe1c8cbabade76a8015e.zip
Change management of variable (ref instead of pointer)
using static is a bad idea as more and more diceparser are now use in rolisteam.
-rw-r--r--diceparser.cpp2
-rw-r--r--diceparser.h2
-rw-r--r--parsingtoolbox.cpp12
-rw-r--r--parsingtoolbox.h6
4 files changed, 11 insertions, 11 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index 1a065b7..41a91e5 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -1330,7 +1330,7 @@ void DiceParser::setPathToHelp(QString l)
{
m_helpPath = l;
}
-void DiceParser::setVariableDictionary(QHash<QString,QString>* variables)
+void DiceParser::setVariableDictionary(const QHash<QString,QString>& variables)
{
ParsingToolBox::setVariableHash(variables);
}
diff --git a/diceparser.h b/diceparser.h
index ad831cf..2ede553 100644
--- a/diceparser.h
+++ b/diceparser.h
@@ -213,7 +213,7 @@ public:
* @brief setVariableDictionary
* @param variables
*/
- void setVariableDictionary(QHash<QString,QString>* variables);
+ void setVariableDictionary(const QHash<QString, QString> &variables);
QString getComment() const;
void setComment(const QString &comment);
diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp
index bd326e2..eec190e 100644
--- a/parsingtoolbox.cpp
+++ b/parsingtoolbox.cpp
@@ -28,7 +28,7 @@
#include "node/stringnode.h"
-QHash<QString,QString>* ParsingToolBox::m_variableHash = nullptr;
+QHash<QString,QString> ParsingToolBox::m_variableHash;
std::vector<ExecutionNode*>* ParsingToolBox::m_startNodes = nullptr;
ParsingToolBox::ParsingToolBox()
@@ -491,11 +491,11 @@ bool ParsingToolBox::readVariable(QString &str, qint64 &myNumber, QString& reaso
int post = str.indexOf('}');
key = str.left(post);
- if(nullptr!=m_variableHash)
+ if(!m_variableHash.isEmpty())
{
- if(m_variableHash->contains(key))
+ if(m_variableHash.contains(key))
{
- QString value = m_variableHash->value(key);
+ QString value = m_variableHash.value(key);
bool ok;
int valueInt = value.toInt(&ok);
if(ok)
@@ -662,12 +662,12 @@ void ParsingToolBox::readPainterParameter(PainterNode* painter,QString& str)
}
}
-QHash<QString, QString> *ParsingToolBox::getVariableHash()
+QHash<QString, QString> ParsingToolBox::getVariableHash()
{
return m_variableHash;
}
-void ParsingToolBox::setVariableHash(QHash<QString, QString> *variableHash)
+void ParsingToolBox::setVariableHash(const QHash<QString, QString>& variableHash)
{
m_variableHash = variableHash;
}
diff --git a/parsingtoolbox.h b/parsingtoolbox.h
index 4a88732..be0b0eb 100644
--- a/parsingtoolbox.h
+++ b/parsingtoolbox.h
@@ -178,8 +178,8 @@ public:
static void readPainterParameter(PainterNode *painter, QString &str);
- static QHash<QString, QString> *getVariableHash();
- static void setVariableHash(QHash<QString, QString> *variableHash);
+ static QHash<QString, QString> getVariableHash();
+ static void setVariableHash(const QHash<QString, QString> &variableHash);
/**
* @brief readConditionType
* @param str
@@ -202,7 +202,7 @@ private:
QHash<QString,Die::ArithmeticOperator>* m_arithmeticOperation;
- static QHash<QString,QString>* m_variableHash;
+ static QHash<QString,QString> m_variableHash;
static std::vector<ExecutionNode*>* m_startNodes;
};