diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-03-04 20:48:11 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-05 15:01:07 +0100 |
commit | c8889fbb5561d75a7a383b86daa89c1b264c6f6e (patch) | |
tree | 4393600dc118c8fa9bbd3b518d23ca12d75f67e9 /src/qml/qml/qqmlcomponent.cpp | |
parent | e4e4a7912b03499a20f25e261e1c515aab17e5a8 (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.cpp | 8 |
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); |