[PATCH 3/3] jscript: Get rid of the to_disp() wrapper.

Michael Stefaniuc mstefani at redhat.de
Sun Jan 16 05:32:43 CST 2011


---
 dlls/jscript/dispex.c   |    2 +-
 dlls/jscript/engine.c   |   10 +++++-----
 dlls/jscript/function.c |    7 ++++---
 dlls/jscript/jscript.c  |    4 ++--
 dlls/jscript/jscript.h  |    7 +------
 dlls/jscript/jsutils.c  |   10 +++++-----
 dlls/jscript/regexp.c   |    2 +-
 7 files changed, 19 insertions(+), 23 deletions(-)

diff --git a/dlls/jscript/dispex.c b/dlls/jscript/dispex.c
index 7d2c6c3..f19c132 100644
--- a/dlls/jscript/dispex.c
+++ b/dlls/jscript/dispex.c
@@ -285,7 +285,7 @@ static HRESULT invoke_prop_func(jsdisp_t *This, jsdisp_t *jsthis, dispex_prop_t
 
         TRACE("call %s %p\n", debugstr_w(prop->name), V_DISPATCH(&prop->u.var));
 
-        hres = set_this(&new_dp, dp, to_disp(jsthis));
+        hres = set_this(&new_dp, dp, (IDispatch*)&jsthis->IDispatchEx_iface);
         if(FAILED(hres))
             return hres;
 
diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c
index d4e0071..f401f17 100644
--- a/dlls/jscript/engine.c
+++ b/dlls/jscript/engine.c
@@ -195,7 +195,7 @@ HRESULT create_exec_ctx(script_ctx_t *script_ctx, IDispatch *this_obj, jsdisp_t
     else if(script_ctx->host_global)
         ctx->this_obj = script_ctx->host_global;
     else
-        ctx->this_obj = to_disp(script_ctx->global);
+        ctx->this_obj = (IDispatch*)&script_ctx->global->IDispatchEx_iface;
     IDispatch_AddRef(ctx->this_obj);
 
     IDispatchEx_AddRef(&var_disp->IDispatchEx_iface);
@@ -510,14 +510,14 @@ static HRESULT identifier_eval(script_ctx_t *ctx, BSTR identifier, DWORD flags,
     for(scope = ctx->exec_ctx->scope_chain; scope; scope = scope->next) {
         hres = jsdisp_get_id(scope->obj, identifier, 0, &id);
         if(SUCCEEDED(hres)) {
-            exprval_set_idref(ret, to_disp(scope->obj), id);
+            exprval_set_idref(ret, (IDispatch*)&scope->obj->IDispatchEx_iface, id);
             return S_OK;
         }
     }
 
     hres = jsdisp_get_id(ctx->global, identifier, 0, &id);
     if(SUCCEEDED(hres)) {
-        exprval_set_idref(ret, to_disp(ctx->global), id);
+        exprval_set_idref(ret, (IDispatch*)&ctx->global->IDispatchEx_iface, id);
         return S_OK;
     }
 
@@ -560,7 +560,7 @@ static HRESULT identifier_eval(script_ctx_t *ctx, BSTR identifier, DWORD flags,
         if(FAILED(hres))
             return hres;
 
-        exprval_set_idref(ret, to_disp(ctx->global), id);
+        exprval_set_idref(ret, (IDispatch*)&ctx->global->IDispatchEx_iface, id);
         return S_OK;
     }
 
@@ -2018,7 +2018,7 @@ static HRESULT instanceof_eval(script_ctx_t *ctx, VARIANT *inst, VARIANT *objv,
         if(V_VT(inst) == VT_DISPATCH)
             tmp = iface_to_jsdisp((IUnknown*)V_DISPATCH(inst));
         for(iter = tmp; iter; iter = iter->prototype) {
-            hres = disp_cmp(V_DISPATCH(&var), to_disp(iter), &b);
+            hres = disp_cmp(V_DISPATCH(&var), (IDispatch*)&iter->IDispatchEx_iface, &b);
             if(FAILED(hres))
                 break;
             if(b) {
diff --git a/dlls/jscript/function.c b/dlls/jscript/function.c
index 2f5c5f1..50db1cd 100644
--- a/dlls/jscript/function.c
+++ b/dlls/jscript/function.c
@@ -196,7 +196,7 @@ static HRESULT invoke_source(script_ctx_t *ctx, FunctionInstance *function, IDis
         return E_FAIL;
     }
 
-    hres = create_arguments(ctx, to_disp(&function->dispex),
+    hres = create_arguments(ctx, (IDispatch*)&function->dispex.IDispatchEx_iface,
             dp, ei, caller, &arg_disp);
     if(FAILED(hres))
         return hres;
@@ -239,7 +239,8 @@ static HRESULT invoke_constructor(script_ctx_t *ctx, FunctionInstance *function,
     if(FAILED(hres))
         return hres;
 
-    hres = invoke_source(ctx, function, to_disp(this_obj), dp, &var, ei, caller);
+    hres = invoke_source(ctx, function, (IDispatch*)&this_obj->IDispatchEx_iface, dp, &var, ei,
+            caller);
     if(FAILED(hres)) {
         IDispatchEx_Release(&this_obj->IDispatchEx_iface);
         return hres;
@@ -793,7 +794,7 @@ static HRESULT construct_function(script_ctx_t *ctx, DISPPARAMS *dp, jsexcept_t
     if(FAILED(hres))
         return hres;
 
-    *ret = to_disp(function);
+    *ret = (IDispatch*)&function->IDispatchEx_iface;
     return S_OK;
 }
 
diff --git a/dlls/jscript/jscript.c b/dlls/jscript/jscript.c
index 9be9966..06a8eb8 100644
--- a/dlls/jscript/jscript.c
+++ b/dlls/jscript/jscript.c
@@ -560,7 +560,7 @@ static HRESULT WINAPI JScript_GetScriptDispatch(IActiveScript *iface, LPCOLESTR
         return E_UNEXPECTED;
     }
 
-    *ppdisp = to_disp(This->ctx->global);
+    *ppdisp = (IDispatch*)&This->ctx->global->IDispatchEx_iface;
     IDispatch_AddRef(*ppdisp);
     return S_OK;
 }
@@ -781,7 +781,7 @@ static HRESULT WINAPI JScriptParseProcedure_ParseProcedureText(IActiveScriptPars
     if(FAILED(hres))
         return hres;
 
-    *ppdisp = to_disp(dispex);
+    *ppdisp = (IDispatch*)&dispex->IDispatchEx_iface;
     return S_OK;
 }
 
diff --git a/dlls/jscript/jscript.h b/dlls/jscript/jscript.h
index 37c9f1e..a8216d9 100644
--- a/dlls/jscript/jscript.h
+++ b/dlls/jscript/jscript.h
@@ -184,11 +184,6 @@ struct jsdisp_t {
     const builtin_info_t *builtin_info;
 };
 
-static inline IDispatch *to_disp(jsdisp_t *jsdisp)
-{
-    return (IDispatch*)&jsdisp->IDispatchEx_iface;
-}
-
 HRESULT create_dispex(script_ctx_t*,const builtin_info_t*,jsdisp_t*,jsdisp_t**);
 HRESULT init_dispex(jsdisp_t*,script_ctx_t*,const builtin_info_t*,jsdisp_t*);
 HRESULT init_dispex_from_constr(jsdisp_t*,script_ctx_t*,const builtin_info_t*,jsdisp_t*);
@@ -421,7 +416,7 @@ static inline void num_set_inf(VARIANT *v, BOOL positive)
 static inline void var_set_jsdisp(VARIANT *v, jsdisp_t *jsdisp)
 {
     V_VT(v) = VT_DISPATCH;
-    V_DISPATCH(v) = to_disp(jsdisp);
+    V_DISPATCH(v) = (IDispatch*)&jsdisp->IDispatchEx_iface;
 }
 
 static inline DWORD make_grfdex(script_ctx_t *ctx, DWORD flags)
diff --git a/dlls/jscript/jsutils.c b/dlls/jscript/jsutils.c
index 05d8ea5..a57067c 100644
--- a/dlls/jscript/jsutils.c
+++ b/dlls/jscript/jsutils.c
@@ -602,7 +602,7 @@ HRESULT to_object(script_ctx_t *ctx, VARIANT *v, IDispatch **disp)
         if(FAILED(hres))
             return hres;
 
-        *disp = to_disp(dispex);
+        *disp = (IDispatch*)&dispex->IDispatchEx_iface;
         break;
     case VT_I4:
     case VT_R8:
@@ -610,7 +610,7 @@ HRESULT to_object(script_ctx_t *ctx, VARIANT *v, IDispatch **disp)
         if(FAILED(hres))
             return hres;
 
-        *disp = to_disp(dispex);
+        *disp = (IDispatch*)&dispex->IDispatchEx_iface;
         break;
     case VT_DISPATCH:
         if(V_DISPATCH(v)) {
@@ -623,7 +623,7 @@ HRESULT to_object(script_ctx_t *ctx, VARIANT *v, IDispatch **disp)
             if(FAILED(hres))
                 return hres;
 
-            *disp = to_disp(obj);
+            *disp = (IDispatch*)&obj->IDispatchEx_iface;
         }
         break;
     case VT_BOOL:
@@ -631,14 +631,14 @@ HRESULT to_object(script_ctx_t *ctx, VARIANT *v, IDispatch **disp)
         if(FAILED(hres))
             return hres;
 
-        *disp = to_disp(dispex);
+        *disp = (IDispatch*)&dispex->IDispatchEx_iface;
         break;
     case VT_ARRAY|VT_VARIANT:
         hres = create_vbarray(ctx, V_ARRAY(v), &dispex);
         if(FAILED(hres))
             return hres;
 
-        *disp = to_disp(dispex);
+        *disp = (IDispatch*)&dispex->IDispatchEx_iface;
         break;
     default:
         FIXME("unsupported vt %d\n", V_VT(v));
diff --git a/dlls/jscript/regexp.c b/dlls/jscript/regexp.c
index ae76780..95f32d8 100644
--- a/dlls/jscript/regexp.c
+++ b/dlls/jscript/regexp.c
@@ -3644,7 +3644,7 @@ static HRESULT create_match_array(script_ctx_t *ctx, BSTR input, const match_res
         return hres;
     }
 
-    *ret = to_disp(array);
+    *ret = (IDispatch*)&array->IDispatchEx_iface;
     return S_OK;
 }
 
-- 
1.7.3.4



More information about the wine-patches mailing list