Piotr Caban : jscript: Fix create_exec_ctx implementation.
Alexandre Julliard
julliard at winehq.org
Thu Jul 16 11:58:23 CDT 2009
Module: wine
Branch: master
Commit: ea5c94f84d099b32701a5827bf8f1d6a3f252532
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ea5c94f84d099b32701a5827bf8f1d6a3f252532
Author: Piotr Caban <piotr.caban at gmail.com>
Date: Thu Jul 16 01:17:00 2009 +0200
jscript: Fix create_exec_ctx implementation.
---
dlls/jscript/engine.c | 2 ++
dlls/jscript/function.c | 5 +++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c
index b744904..f3ea33f 100644
--- a/dlls/jscript/engine.c
+++ b/dlls/jscript/engine.c
@@ -179,6 +179,8 @@ HRESULT create_exec_ctx(IDispatch *this_obj, DispatchEx *var_disp, scope_chain_t
if(!ctx)
return E_OUTOFMEMORY;
+ ctx->ref = 1;
+
IDispatch_AddRef(this_obj);
ctx->this_obj = this_obj;
diff --git a/dlls/jscript/function.c b/dlls/jscript/function.c
index 3863f7d..dac8d3e 100644
--- a/dlls/jscript/function.c
+++ b/dlls/jscript/function.c
@@ -197,9 +197,10 @@ static HRESULT invoke_constructor(FunctionInstance *function, LCID lcid, DISPPAR
return hres;
hres = invoke_source(function, (IDispatch*)_IDispatchEx_(this_obj), lcid, dp, retv, ei, caller);
- jsdisp_release(this_obj);
- if(FAILED(hres))
+ if(FAILED(hres)) {
+ jsdisp_release(this_obj);
return hres;
+ }
V_VT(retv) = VT_DISPATCH;
V_DISPATCH(retv) = (IDispatch*)_IDispatchEx_(this_obj);
More information about the wine-cvs
mailing list