diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-02-06 16:47:29 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-07 12:44:12 +0100 |
commit | 1583093081d6d74acd7618880c7d6101961f47ad (patch) | |
tree | eb8020c7ab0eddde75abb395f6195a48982dbaf7 /src/qml/qml/qqmlvme.cpp | |
parent | 324ae0d7d99ef9f7159d29b2e0e7eabe5f8a43a4 (diff) |
[new compiler] Fix tst_qqmlincubator::deleteContext
Protect against QQmlContext deletion during incubation re-using the existing
QQmlContextGuard.
Change-Id: Ia1c0241029765cc2e00a9b0ffcf484127de20606
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, 8 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlvme.cpp b/src/qml/qml/qqmlvme.cpp index 7d521192ad..7d1e8cc8f0 100644 --- a/src/qml/qml/qqmlvme.cpp +++ b/src/qml/qml/qqmlvme.cpp @@ -1307,6 +1307,14 @@ void QQmlVMEGuard::guard(QQmlVME *vme) m_contexts[m_contextCount - 1] = vme->rootContext.contextData(); } +void QQmlVMEGuard::guard(QmlObjectCreator *creator) +{ + clear(); + m_contextCount = 1; + m_contexts = new QQmlGuardedContextData[m_contextCount]; + m_contexts[0] = creator->parentContextData(); +} + void QQmlVMEGuard::clear() { delete [] m_objects; |