jscript: Use already running interpreter for execution new expressions.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2016-03-29 17:49:19 +02:00 committed by Alexandre Julliard
parent 2d35954adb
commit fa726bed4d
2 changed files with 2 additions and 3 deletions

View File

@ -963,7 +963,7 @@ static HRESULT interp_new(script_ctx_t *ctx)
return throw_type_error(ctx, JS_E_INVALID_PROPERTY, NULL);
clear_ret(frame);
return disp_call_value(ctx, get_object(constr), NULL, DISPATCH_CONSTRUCT,
return disp_call_value(ctx, get_object(constr), NULL, DISPATCH_CONSTRUCT | DISPATCH_JSCRIPT_CALLEREXECSSOURCE,
argc, stack_args(ctx, argc), &frame->ret);
}
@ -2604,7 +2604,6 @@ HRESULT exec_source(script_ctx_t *ctx, DWORD flags, bytecode_t *bytecode, functi
frame->ip = function->instr_off;
frame->stack_base = ctx->stack_top;
frame->ret = jsval_undefined();
if(scope)
frame->base_scope = frame->scope = scope_addref(scope);

View File

@ -334,7 +334,7 @@ HRESULT Function_invoke(jsdisp_t *func_this, IDispatch *jsthis, WORD flags, unsi
if(FAILED(hres))
return hres;
hres = invoke_source(function->dispex.ctx, function, to_disp(this_obj), argc, argv, TRUE, FALSE, r);
hres = invoke_source(function->dispex.ctx, function, to_disp(this_obj), argc, argv, TRUE, caller_execs_source, r);
jsdisp_release(this_obj);
return hres;
}