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:
parent
2d35954adb
commit
fa726bed4d
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue