diff options
Diffstat (limited to 'src/qml/types/qqmlbind.cpp')
-rw-r--r-- | src/qml/types/qqmlbind.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/qml/types/qqmlbind.cpp b/src/qml/types/qqmlbind.cpp index a01622f25f..fb9a9d2221 100644 --- a/src/qml/types/qqmlbind.cpp +++ b/src/qml/types/qqmlbind.cpp @@ -759,14 +759,14 @@ void QQmlBindPrivate::decodeBinding( QQmlProperty property(q, propertyName); if (property.isValid()) { - if (!immediateState->creator) { + if (!immediateState->hasCreator()) { immediateState->completePending = true; - immediateState->creator = std::make_unique<QQmlObjectCreator>( + immediateState->initCreator( deferredData->context->parent(), deferredData->compilationUnit, contextData); - immediateState->creator->beginPopulateDeferred(deferredData->context); + immediateState->creator()->beginPopulateDeferred(deferredData->context); } - immediateState->creator->populateDeferredBinding( + immediateState->creator()->populateDeferredBinding( property, deferredData->deferredIdx, binding); } else { qmlWarning(q).nospace() << "Unknown name " << propertyName @@ -882,10 +882,10 @@ void QQmlBindPrivate::buildBindEntries(QQmlBind *q, QQmlComponentPrivate::Deferr decodeBinding(q, QString(), deferredData, *it, &constructionState); - if (constructionState.creator.get()) { + if (constructionState.hasCreator()) { ++ep->inProgressCreations; - constructionState.creator->finalizePopulateDeferred(); - constructionState.appendErrors(constructionState.creator->errors); + constructionState.creator()->finalizePopulateDeferred(); + constructionState.appendErrors(constructionState.creator()->errors); deferredState->push_back(std::move(constructionState)); } } else { |