jscript: Don't use EXPR_NEWREF in forin_statement_event.
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 @@
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 @@
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();