aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlcomponent.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-03-04 20:48:11 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-05 15:01:07 +0100
commitc8889fbb5561d75a7a383b86daa89c1b264c6f6e (patch)
tree4393600dc118c8fa9bbd3b518d23ca12d75f67e9 /src/qml/qml/qqmlcomponent.cpp
parente4e4a7912b03499a20f25e261e1c515aab17e5a8 (diff)
[new compiler] Add support for deferred properties
Change-Id: I592518444ef353cfcf153df0e6afa2fbac613560 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/qqmlcomponent.cpp')
-rw-r--r--src/qml/qml/qqmlcomponent.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlcomponent.cpp b/src/qml/qml/qqmlcomponent.cpp
index 6431094c4c..feeb42b7ed 100644
--- a/src/qml/qml/qqmlcomponent.cpp
+++ b/src/qml/qml/qqmlcomponent.cpp
@@ -923,7 +923,13 @@ void QQmlComponentPrivate::beginDeferred(QQmlEnginePrivate *enginePriv,
state->completePending = true;
if (enginePriv->useNewCompiler) {
- // ###
+ QQmlData *ddata = QQmlData::get(object);
+ Q_ASSERT(ddata->deferredData);
+ QQmlData::DeferredData *deferredData = ddata->deferredData;
+ QQmlContextData *creationContext = 0;
+ state->creator = new QQmlObjectCreator(deferredData->context->parent, deferredData->compiledData, creationContext);
+ if (!state->creator->populateDeferredProperties(object))
+ state->errors << state->creator->errors;
} else {
state->vme.initDeferred(object);
state->vme.execute(&state->errors);