[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