Module: wine Branch: master Commit: 2f9c2186cc6b42b6a0aff9d9500372bbc4b0e73f URL: http://source.winehq.org/git/wine.git/?a=commit;h=2f9c2186cc6b42b6a0aff9d950...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Dec 12 15:27:51 2017 +0100
jscript: Do not pass DISPATCH_JSCRIPT_CALLEREXECSSOURCE flag for calls across different script contexts.
Fixes regression in calls between different contexts. Spotted by Nikolay.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/jscript/dispex.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/jscript/dispex.c b/dlls/jscript/dispex.c index ed88c6f..40c02a0 100644 --- a/dlls/jscript/dispex.c +++ b/dlls/jscript/dispex.c @@ -1103,6 +1103,8 @@ HRESULT disp_call(script_ctx_t *ctx, IDispatch *disp, DISPID id, WORD flags, uns return E_FAIL; }
+ if(ctx != jsdisp->ctx) + flags &= ~DISPATCH_JSCRIPT_INTERNAL_MASK; hres = jsdisp_call(jsdisp, id, flags, argc, argv, ret); jsdisp_release(jsdisp); return hres; @@ -1191,6 +1193,8 @@ HRESULT disp_call_value(script_ctx_t *ctx, IDispatch *disp, IDispatch *jsthis, W
jsdisp = iface_to_jsdisp(disp); if(jsdisp) { + if(ctx != jsdisp->ctx) + flags &= ~DISPATCH_JSCRIPT_INTERNAL_MASK; hres = jsdisp_call_value(jsdisp, jsthis, flags, argc, argv, r); jsdisp_release(jsdisp); return hres;