diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-02-06 16:33:15 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-07 12:44:10 +0100 |
commit | 324ae0d7d99ef9f7159d29b2e0e7eabe5f8a43a4 (patch) | |
tree | 9576687c7580065e819392a3be6250dcf6e0c07c /src/qml/qml/qqmlvme.cpp | |
parent | 50ce88a53107f97664d928719c1877b8077e9a2e (diff) |
[new compiler] Allow for interruption during object finalization
The object tree construction and binding allocation remains synchronous, but
the initial evaluation of the bindings is now cooperatively interruptible
again, like in the VME.
Change-Id: Idd037dd481782c81ad43e20e93d922eb12ac8b85
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/qqmlvme.cpp')
-rw-r--r-- | src/qml/qml/qqmlvme.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/qml/qqmlvme.cpp b/src/qml/qml/qqmlvme.cpp index 58d656a846..7d521192ad 100644 --- a/src/qml/qml/qqmlvme.cpp +++ b/src/qml/qml/qqmlvme.cpp @@ -184,7 +184,7 @@ struct ActiveVMERestorer }; } -QObject *QQmlVME::execute(QList<QQmlError> *errors, const Interrupt &interrupt) +QObject *QQmlVME::execute(QList<QQmlError> *errors, const QQmlInstantiationInterrupt &interrupt) { Q_ASSERT(states.count() >= 1); @@ -330,7 +330,7 @@ static QV4::ExecutionContext *qmlBindingContext(QQmlEngine *engine, QV4::Executi removeBindingOnProperty(o, index) QObject *QQmlVME::run(QList<QQmlError> *errors, - const Interrupt &interrupt + const QQmlInstantiationInterrupt &interrupt #ifdef QML_THREADED_VME_INTERPRETER , void * const **storeJumpTable #endif @@ -1134,14 +1134,14 @@ void *const *QQmlVME::instructionJumpTable() static void * const *jumpTable = 0; if (!jumpTable) { QQmlVME dummy; - QQmlVME::Interrupt i; + QQmlInstantiationInterrupt i; dummy.run(0, i, &jumpTable); } return jumpTable; } #endif -QQmlContextData *QQmlVME::complete(const Interrupt &interrupt) +QQmlContextData *QQmlVME::complete(const QQmlInstantiationInterrupt &interrupt) { Q_ASSERT(engine || (bindValues.isEmpty() && |