summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativevme.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-04-08 06:55:57 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-04-08 07:23:00 (GMT)
commit3baf285917e2ea3183866768807f2495010602ab (patch)
tree46b1b25adc1b7e7b988f97fc039c6c048b29d3cd /src/declarative/qml/qdeclarativevme.cpp
parent7d82f3875cd26c1cb0ad46ae0a9fddeb87e049d6 (diff)
downloadQt-3baf285917e2ea3183866768807f2495010602ab.zip
Qt-3baf285917e2ea3183866768807f2495010602ab.tar.gz
Qt-3baf285917e2ea3183866768807f2495010602ab.tar.bz2
Improve static assignment to QVariant's in the int and double case
Diffstat (limited to 'src/declarative/qml/qdeclarativevme.cpp')
-rw-r--r--src/declarative/qml/qdeclarativevme.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp
index 2d1a549..0addfabd 100644
--- a/src/declarative/qml/qdeclarativevme.cpp
+++ b/src/declarative/qml/qdeclarativevme.cpp
@@ -345,6 +345,26 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack<QObject *> &stack,
}
break;
+ case QDeclarativeInstruction::StoreVariantInteger:
+ {
+ QObject *target = stack.top();
+ QVariant v(instr.storeInteger.value);
+ void *a[] = { &v, 0, &status, &flags };
+ QMetaObject::metacall(target, QMetaObject::WriteProperty,
+ instr.storeString.propertyIndex, a);
+ }
+ break;
+
+ case QDeclarativeInstruction::StoreVariantDouble:
+ {
+ QObject *target = stack.top();
+ QVariant v(instr.storeDouble.value);
+ void *a[] = { &v, 0, &status, &flags };
+ QMetaObject::metacall(target, QMetaObject::WriteProperty,
+ instr.storeString.propertyIndex, a);
+ }
+ break;
+
case QDeclarativeInstruction::StoreString:
{
QObject *target = stack.top();