aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/evaluator.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-02-05 16:00:18 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2014-02-05 18:34:40 +0100
commitb8d079de7749ed6eb9c26f1f902eab1515be7865 (patch)
tree3ac19621d5a6d6fb2d9d62a15c0a4152f290ed42 /src/lib/corelib/language/evaluator.cpp
parent95ef6ebf845797df4c0a6753e970cf435d99b16c (diff)
centralize pointer-to-scriptvalue-attachment
Introduce attachPointerTo and attachedPointer functions in scripttools.h. Change-Id: I15ad41a51820035d621320b0a76978c7da0b75ed Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/corelib/language/evaluator.cpp')
-rw-r--r--src/lib/corelib/language/evaluator.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/corelib/language/evaluator.cpp b/src/lib/corelib/language/evaluator.cpp
index 29b3837fd..43778086d 100644
--- a/src/lib/corelib/language/evaluator.cpp
+++ b/src/lib/corelib/language/evaluator.cpp
@@ -36,6 +36,7 @@
#include <jsextensions/jsextensions.h>
#include <logging/translator.h>
#include <tools/error.h>
+#include <tools/scripttools.h>
#include <tools/qbsassert.h>
#include <QDebug>
#include <QScriptEngine>
@@ -54,7 +55,7 @@ Evaluator::~Evaluator()
{
QHash<const Item *, QScriptValue>::iterator it = m_scriptValueMap.begin();
for (; it != m_scriptValueMap.end(); ++it) {
- EvaluationData *data = EvaluationData::get(*it);
+ EvaluationData *data = attachedPointer<EvaluationData>(*it);
if (data) {
if (data->item)
data->item->setPropertyObserver(0);
@@ -167,20 +168,20 @@ QScriptValue Evaluator::scriptValue(const Item *item)
edata->item->setPropertyObserver(this);
scriptValue = m_scriptEngine->newObject(m_scriptClass);
- edata->attachTo(scriptValue);
+ attachPointerTo(scriptValue, edata);
return scriptValue;
}
void Evaluator::onItemPropertyChanged(Item *item)
{
- EvaluationData *data = EvaluationData::get(m_scriptValueMap.value(item));
+ EvaluationData *data = attachedPointer<EvaluationData>(m_scriptValueMap.value(item));
if (data)
data->valueCache.clear();
}
void Evaluator::onItemDestroyed(Item *item)
{
- delete EvaluationData::get(m_scriptValueMap.value(item));
+ delete attachedPointer<EvaluationData>(m_scriptValueMap.value(item));
m_scriptValueMap.remove(item);
}