Jacek Caban : jscript: Don' t pass EXPR_NEWREF flag to evaluate member expression in array_expression_eval .
Alexandre Julliard
julliard at winehq.org
Mon Dec 7 10:26:15 CST 2009
Module: wine
Branch: master
Commit: 8d44d63849b2498a6e82c3825a5397353dc3f3d2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8d44d63849b2498a6e82c3825a5397353dc3f3d2
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Dec 6 22:10:44 2009 +0100
jscript: Don't pass EXPR_NEWREF flag to evaluate member expression in array_expression_eval.
---
dlls/jscript/engine.c | 2 +-
dlls/jscript/tests/lang.js | 7 +++++++
2 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c
index 15ef905..9a89431 100644
--- a/dlls/jscript/engine.c
+++ b/dlls/jscript/engine.c
@@ -1396,7 +1396,7 @@ HRESULT array_expression_eval(exec_ctx_t *ctx, expression_t *_expr, DWORD flags,
TRACE("\n");
- hres = expr_eval(ctx, expr->member_expr, EXPR_NEWREF, ei, &exprval);
+ hres = expr_eval(ctx, expr->member_expr, 0, ei, &exprval);
if(FAILED(hres))
return hres;
diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js
index 1359e05..b13091f 100644
--- a/dlls/jscript/tests/lang.js
+++ b/dlls/jscript/tests/lang.js
@@ -863,6 +863,13 @@ ok(("1" in obj) === false, "1 is in obj");
obj = [1,2,3];
ok((1 in obj) === true, "1 is not in obj");
+obj = new Object();
+try {
+ obj.prop["test"];
+ ok(false, "expected exception");
+}catch(e) {}
+ok(!("prop" in obj), "prop in obj");
+
ok(isNaN(NaN) === true, "isNaN(NaN) !== true");
ok(isNaN(0.5) === false, "isNaN(0.5) !== false");
ok(isNaN(Infinity) === false, "isNaN(Infinity) !== false");
More information about the wine-cvs
mailing list