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