diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-08-15 14:11:19 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@digia.com> | 2013-08-15 15:28:46 +0200 |
commit | c5c968933b7ce4540cf03ef6964846075cca5bb8 (patch) | |
tree | b50b3daae3c4c4cf07b5a9cd5d90bfdf528eca11 /src/qml/jsruntime/qv4engine.cpp | |
parent | 4036d2b17795da106aba8977d3009b7dd4b78e00 (diff) |
Fix crashes with unmarked runtime strings
Runtime strings are identifiers, but they still require to be marked. Keep
track of all compilation units in the engine (one per file) and mark its
run-time strings.
Change-Id: Ie70b00dfa373c4567279591de2f717e8103c288f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4engine.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index f346321b3b..764f3fa45f 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -789,6 +789,10 @@ void ExecutionEngine::markObjects() if (m_qmlExtensions) m_qmlExtensions->markObjects(); + + for (QSet<CompiledData::CompilationUnit*>::ConstIterator it = compilationUnits.constBegin(), end = compilationUnits.constEnd(); + it != end; ++it) + (*it)->markObjects(); } namespace { |