summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlvme.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-06-11 08:47:07 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-06-11 08:47:07 (GMT)
commit7e541e9e4832a26339a44ee55d325ba089717e17 (patch)
tree8ac3583740a6df8642b42d9759f7782fbdd9817a /src/declarative/qml/qmlvme.cpp
parentaef2140573c5b68062db2f1a2cf968a1637344ae (diff)
downloadQt-7e541e9e4832a26339a44ee55d325ba089717e17.zip
Qt-7e541e9e4832a26339a44ee55d325ba089717e17.tar.gz
Qt-7e541e9e4832a26339a44ee55d325ba089717e17.tar.bz2
Skeleton for property deferring
Diffstat (limited to 'src/declarative/qml/qmlvme.cpp')
-rw-r--r--src/declarative/qml/qmlvme.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlvme.cpp b/src/declarative/qml/qmlvme.cpp
index 3a66c69..58972ef 100644
--- a/src/declarative/qml/qmlvme.cpp
+++ b/src/declarative/qml/qmlvme.cpp
@@ -44,6 +44,7 @@
#include <private/qmlboundsignal_p.h>
#include <private/qmlstringconverters_p.h>
#include "private/qmetaobjectbuilder_p.h"
+#include "private/qmldeclarativedata_p.h"
#include <qml.h>
#include <private/qmlcustomparser_p.h>
#include <qperformancelog.h>
@@ -745,6 +746,18 @@ QObject *QmlVME::run(QmlContext *ctxt, QmlCompiledComponent *comp, int start, in
}
break;
+ case QmlInstruction::Defer:
+ {
+ QObject *target = stack.top();
+ QmlInstanceDeclarativeData *data =
+ QmlInstanceDeclarativeData::get(target, true);
+ comp->addref();
+ data->deferredComponent = comp;
+ data->deferredIdx = ii;
+ ii += instr.defer.deferCount;
+ }
+ break;
+
case QmlInstruction::PopFetchedObject:
{
stack.pop();