Jacek Caban : jscript: Allow 'this' to be host object in invoke_value_proc.
Alexandre Julliard
julliard at winehq.org
Wed Sep 23 11:03:59 CDT 2009
Module: wine
Branch: master
Commit: 8717c388f89dfc46d968d1a9375332cc69351358
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8717c388f89dfc46d968d1a9375332cc69351358
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Sep 23 16:20:27 2009 +0200
jscript: Allow 'this' to be host object in invoke_value_proc.
---
dlls/jscript/function.c | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/dlls/jscript/function.c b/dlls/jscript/function.c
index 74c4e47..88bf9c3 100644
--- a/dlls/jscript/function.c
+++ b/dlls/jscript/function.c
@@ -257,21 +257,19 @@ static HRESULT invoke_constructor(script_ctx_t *ctx, FunctionInstance *function,
static HRESULT invoke_value_proc(script_ctx_t *ctx, FunctionInstance *function, WORD flags, DISPPARAMS *dp,
VARIANT *retv, jsexcept_t *ei, IServiceProvider *caller)
{
- DispatchEx *this_obj = NULL;
IDispatch *this_disp;
vdisp_t vthis;
HRESULT hres;
this_disp = get_this(dp);
if(this_disp)
- this_obj = iface_to_jsdisp((IUnknown*)this_disp);
+ set_disp(&vthis, this_disp);
+ else
+ set_jsdisp(&vthis, ctx->script_disp);
- set_jsdisp(&vthis, this_obj ? this_obj : ctx->script_disp);
hres = function->value_proc(ctx, &vthis, flags, dp, retv, ei, caller);
- vdisp_release(&vthis);
- if(this_obj)
- jsdisp_release(this_obj);
+ vdisp_release(&vthis);
return hres;
}
More information about the wine-cvs
mailing list