Jacek Caban : jscript: Don't use EXPR_NEWREF in forin_statement_event.

Alexandre Julliard julliard at winehq.org
Mon Dec 12 12:25:55 CST 2011


Module: wine
Branch: master
Commit: f8e3e92be3c979c52911bea326c28be9755cdfcf
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f8e3e92be3c979c52911bea326c28be9755cdfcf

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Dec 12 14:43:35 2011 +0100

jscript: Don't use EXPR_NEWREF in forin_statement_event.

---

 dlls/jscript/engine.c      |    2 +-
 dlls/jscript/tests/lang.js |    5 +++++
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c
index 0f9263f..7b85040 100644
--- a/dlls/jscript/engine.c
+++ b/dlls/jscript/engine.c
@@ -1012,7 +1012,7 @@ HRESULT forin_statement_eval(script_ctx_t *ctx, statement_t *_stat, return_type_
             return hres;
     }
 
-    hres = expr_eval(ctx, stat->in_expr, EXPR_NEWREF, &rt->ei, &exprval);
+    hres = expr_eval(ctx, stat->in_expr, 0, &rt->ei, &exprval);
     if(FAILED(hres))
         return hres;
 
diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js
index bbd2c42..5677d32 100644
--- a/dlls/jscript/tests/lang.js
+++ b/dlls/jscript/tests/lang.js
@@ -803,6 +803,11 @@ obj1 = new Object();
 for(obj1.nonexistent; tmp; tmp = false)
     ok(!("nonexistent" in obj1), "nonexistent added to obj1");
 
+obj1 = new Object();
+for(tmp in obj1.nonexistent)
+    ok(false, "for(tmp in obj1.nonexistent) called with tmp = " + tmp);
+ok(!("nonexistent" in obj1), "nonexistent added to obj1 by for..in loop");
+
 ok((void 1) === undefined, "(void 1) !== undefined");
 
 var inobj = new Object();




More information about the wine-cvs mailing list