diff options
Diffstat (limited to 'src/qml/qml/qqmlcomponent_p.h')
-rw-r--r-- | src/qml/qml/qqmlcomponent_p.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlcomponent_p.h b/src/qml/qml/qqmlcomponent_p.h index 6414025574..8a58a1ada0 100644 --- a/src/qml/qml/qqmlcomponent_p.h +++ b/src/qml/qml/qqmlcomponent_p.h @@ -121,8 +121,17 @@ public: }; ConstructionState state; - static void beginDeferred(QQmlEnginePrivate *enginePriv, QObject *object, - ConstructionState *state); + struct DeferredState { + ~DeferredState() { + qDeleteAll(constructionStates); + constructionStates.clear(); + } + QVector<ConstructionState *> constructionStates; + }; + + static void beginDeferred(QQmlEnginePrivate *enginePriv, QObject *object, DeferredState* deferredState); + static void completeDeferred(QQmlEnginePrivate *enginePriv, DeferredState *deferredState); + static void complete(QQmlEnginePrivate *enginePriv, ConstructionState *state); QQmlEngine *engine; |