diff options
Diffstat (limited to 'src/qml/jsruntime/qv4script.cpp')
| -rw-r--r-- | src/qml/jsruntime/qv4script.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4script.cpp b/src/qml/jsruntime/qv4script.cpp index 448d63860d..59b52c395b 100644 --- a/src/qml/jsruntime/qv4script.cpp +++ b/src/qml/jsruntime/qv4script.cpp @@ -201,17 +201,20 @@ Value Script::run() TemporaryAssignment<Function*> savedGlobalCode(engine->globalCode, vmFunction); bool strict = scope->strictMode; - Lookup *lookups = scope->lookups; + Lookup *oldLookups = scope->lookups; + String **oldRuntimeStrings = scope->runtimeStrings; scope->strictMode = vmFunction->isStrict(); scope->lookups = vmFunction->lookups; + scope->runtimeStrings = vmFunction->compilationUnit->runtimeStrings; QV4::Value result; try { result = vmFunction->code(scope, vmFunction->codeData); } catch (Exception &e) { scope->strictMode = strict; - scope->lookups = lookups; + scope->lookups = oldLookups; + scope->runtimeStrings = oldRuntimeStrings; throw; } |
