aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-10-02 08:13:58 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-02 16:07:33 +0200
commit3dc090fc1eb0a810d96ffc87e4662f7eb9ac8fd2 (patch)
treeba3d2a45ca62f3752078ef6708e5cccb6b52cd84 /src/qml/qml
parentb561a0a4ffa72fe1d43305dce90030d94316924b (diff)
Don't create a ValueRef to a temporary
Change-Id: I6d7fbcee594298517b880e4b0fac9df1f9e54d61 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/qml')
-rw-r--r--src/qml/qml/qqmlvme.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/qml/qml/qqmlvme.cpp b/src/qml/qml/qqmlvme.cpp
index 21bffee7a7..9583fa1d68 100644
--- a/src/qml/qml/qqmlvme.cpp
+++ b/src/qml/qml/qqmlvme.cpp
@@ -296,7 +296,8 @@ static QVariant variantFromString(const QString &string)
#define QML_STORE_VAR(name, value) \
QML_BEGIN_INSTR(name) \
- QV4::ValueRef valueref = value; \
+ tmpValue = (value); \
+ QV4::ValueRef valueref(tmpValue); \
QObject *target = objects.top(); \
CLEAN_PROPERTY(target, instr.propertyIndex); \
QQmlVMEMetaObject *vmemo = QQmlVMEMetaObject::get(target); \
@@ -375,7 +376,7 @@ QObject *QQmlVME::run(QList<QQmlError> *errors,
// Store a created object in a property. These all pop from the objects stack.
QML_STORE_VALUE(StoreObject, QObject *, objects.pop());
QML_STORE_VALUE(StoreVariantObject, QVariant, QVariant::fromValue(objects.pop()));
- QML_STORE_VAR(StoreVarObject, (tmpValue = QV4::QObjectWrapper::wrap(ep->v4engine(), objects.pop())));
+ QML_STORE_VAR(StoreVarObject, QV4::QObjectWrapper::wrap(ep->v4engine(), objects.pop()));
// Store a literal value in a corresponding property
QML_STORE_VALUE(StoreFloat, float, instr.value);
@@ -423,7 +424,7 @@ QObject *QQmlVME::run(QList<QQmlError> *errors,
// Store a literal value in a var property.
// We deliberately do not use string converters here
- QML_STORE_VAR(StoreVar, (tmpValue = ep->v8engine()->fromVariant(PRIMITIVES.at(instr.value))));
+ QML_STORE_VAR(StoreVar, ep->v8engine()->fromVariant(PRIMITIVES.at(instr.value)));
QML_STORE_VAR(StoreVarInteger, QV4::Primitive::fromInt32(instr.value));
QML_STORE_VAR(StoreVarDouble, QV4::Primitive::fromDouble(instr.value));
QML_STORE_VAR(StoreVarBool, QV4::Primitive::fromBoolean(instr.value));