summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/jsruntime/qv4engine.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp
index caa6e8b7ac..8ca6b03950 100644
--- a/src/qml/jsruntime/qv4engine.cpp
+++ b/src/qml/jsruntime/qv4engine.cpp
@@ -982,10 +982,13 @@ void ExecutionEngine::markObjects(MarkStack *markStack)
}
classPool->markObjects(markStack);
+ markStack->drain();
for (QSet<CompiledData::CompilationUnit*>::ConstIterator it = compilationUnits.constBegin(), end = compilationUnits.constEnd();
- it != end; ++it)
+ it != end; ++it) {
(*it)->markObjects(markStack);
+ markStack->drain();
+ }
}
ReturnedValue ExecutionEngine::throwError(const Value &value)