aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-06-21 10:39:03 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-06-21 10:44:29 +0200
commiteec8fbd98fe46c7f016befc91cc1b13c84fa672b (patch)
treecc6cb8798f9c224ae8aa8a477fc7006fe4b4b518
parent343978ce543b4b901bb009f0c5ebabb7563fe98b (diff)
Fix scope chain for eval in strict mode
Change-Id: Ie00046f98a126cd46cd79758a78be1d0e1d17c61 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
-rw-r--r--src/qml/qml/v4/qv4globalobject.cpp4
-rw-r--r--tests/manual/v4/TestExpectations2
2 files changed, 2 insertions, 4 deletions
diff --git a/src/qml/qml/v4/qv4globalobject.cpp b/src/qml/qml/v4/qv4globalobject.cpp
index 520fab6c96..0d4da29e2a 100644
--- a/src/qml/qml/v4/qv4globalobject.cpp
+++ b/src/qml/qml/v4/qv4globalobject.cpp
@@ -387,8 +387,8 @@ Value EvalFunction::evalCall(ExecutionContext *parentContext, Value /*thisObject
needsActivation = function->needsActivation();
if (strictMode) {
- CallContext *k = ctx->engine->newCallContext(this, ctx->thisObject, 0, 0);
- ctx = k;
+ FunctionObject *e = engine->newScriptFunction(ctx, function);
+ return e->call(ctx->thisObject, 0, 0);
}
ExecutionContext::EvalCode evalCode;
diff --git a/tests/manual/v4/TestExpectations b/tests/manual/v4/TestExpectations
index b602e0816b..17cdc3b3c3 100644
--- a/tests/manual/v4/TestExpectations
+++ b/tests/manual/v4/TestExpectations
@@ -5,8 +5,6 @@
10.4.3-1-104 failing
10.4.3-1-106 failing
-10.4.3-1-63-s failing
-10.4.3-1-82-s failing
11.2.3-3_3 failing
S11.8.6_A5_T2 failing
S13_A15_T4 failing