[PATCH 2/3] jscript: Get rid of the jsdisp_addref() and jsdisp_release() wrappers.
Michael Stefaniuc
mstefani at redhat.de
Sun Jan 16 05:06:01 CST 2011
---
Patch 1/3 is "jscript: COM cleanup for the IDispatchEx iface."
dlls/jscript/activex.c | 2 +-
dlls/jscript/array.c | 28 ++++++++++++++--------------
dlls/jscript/bool.c | 2 +-
dlls/jscript/date.c | 2 +-
dlls/jscript/dispex.c | 16 ++++++++--------
dlls/jscript/engine.c | 24 ++++++++++++------------
dlls/jscript/error.c | 10 +++++-----
dlls/jscript/function.c | 30 +++++++++++++++---------------
dlls/jscript/global.c | 6 +++---
dlls/jscript/jscript.c | 2 +-
dlls/jscript/jscript.h | 10 ----------
dlls/jscript/jsutils.c | 10 +++++-----
dlls/jscript/math.c | 2 +-
dlls/jscript/number.c | 2 +-
dlls/jscript/object.c | 2 +-
dlls/jscript/regexp.c | 22 +++++++++++-----------
dlls/jscript/string.c | 26 +++++++++++++-------------
dlls/jscript/vbarray.c | 8 ++++----
18 files changed, 97 insertions(+), 107 deletions(-)
diff --git a/dlls/jscript/activex.c b/dlls/jscript/activex.c
index c1f556b..6293505 100644
--- a/dlls/jscript/activex.c
+++ b/dlls/jscript/activex.c
@@ -200,6 +200,6 @@ HRESULT create_activex_constr(script_ctx_t *ctx, jsdisp_t **ret)
hres = create_builtin_function(ctx, ActiveXObject_value, ActiveXObjectW, NULL,
PROPF_CONSTR|1, prototype, ret);
- jsdisp_release(prototype);
+ IDispatchEx_Release(&prototype->IDispatchEx_iface);
return hres;
}
diff --git a/dlls/jscript/array.c b/dlls/jscript/array.c
index b8fabe1..6fe4c7d 100644
--- a/dlls/jscript/array.c
+++ b/dlls/jscript/array.c
@@ -192,10 +192,10 @@ static HRESULT concat_obj(jsdisp_t *array, IDispatch *obj, DWORD *len, jsexcept_
if(jsobj) {
if(is_class(jsobj, JSCLASS_ARRAY)) {
hres = concat_array(array, (ArrayInstance*)jsobj, len, ei, caller);
- jsdisp_release(jsobj);
+ IDispatchEx_Release(&jsobj->IDispatchEx_iface);
return hres;
}
- jsdisp_release(jsobj);
+ IDispatchEx_Release(&jsobj->IDispatchEx_iface);
}
V_VT(&var) = VT_DISPATCH;
@@ -238,7 +238,7 @@ static HRESULT Array_concat(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISP
if(retv)
var_set_jsdisp(retv, ret);
else
- jsdisp_release(ret);
+ IDispatchEx_Release(&ret->IDispatchEx_iface);
return S_OK;
}
@@ -506,7 +506,7 @@ static HRESULT Array_reverse(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISP
}
if(retv) {
- jsdisp_addref(jsthis);
+ IDispatchEx_AddRef(&jsthis->IDispatchEx_iface);
var_set_jsdisp(retv, jsthis);
}
@@ -632,7 +632,7 @@ static HRESULT Array_slice(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISPPA
}
if(FAILED(hres)) {
- jsdisp_release(arr);
+ IDispatchEx_Release(&arr->IDispatchEx_iface);
return hres;
}
}
@@ -640,7 +640,7 @@ static HRESULT Array_slice(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISPPA
if(retv)
var_set_jsdisp(retv, arr);
else
- jsdisp_release(arr);
+ IDispatchEx_Release(&arr->IDispatchEx_iface);
return S_OK;
}
@@ -736,16 +736,16 @@ static HRESULT Array_sort(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISPPAR
if(!cmp_func || !is_class(cmp_func, JSCLASS_FUNCTION)) {
WARN("cmp_func is not a function\n");
if(cmp_func)
- jsdisp_release(cmp_func);
+ IDispatchEx_Release(&cmp_func->IDispatchEx_iface);
return E_FAIL;
}
}
if(!length) {
if(cmp_func)
- jsdisp_release(cmp_func);
+ IDispatchEx_Release(&cmp_func->IDispatchEx_iface);
if(retv) {
- jsdisp_addref(jsthis);
+ IDispatchEx_AddRef(&jsthis->IDispatchEx_iface);
var_set_jsdisp(retv, jsthis);
}
return S_OK;
@@ -844,13 +844,13 @@ static HRESULT Array_sort(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISPPAR
}
heap_free(sorttab);
if(cmp_func)
- jsdisp_release(cmp_func);
+ IDispatchEx_Release(&cmp_func->IDispatchEx_iface);
if(FAILED(hres))
return hres;
if(retv) {
- jsdisp_addref(jsthis);
+ IDispatchEx_AddRef(&jsthis->IDispatchEx_iface);
var_set_jsdisp(retv, jsthis);
}
@@ -956,7 +956,7 @@ static HRESULT Array_splice(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISPP
if(FAILED(hres)) {
if(ret_array)
- jsdisp_release(ret_array);
+ IDispatchEx_Release(&ret_array->IDispatchEx_iface);
return hres;
}
@@ -1158,7 +1158,7 @@ static HRESULT ArrayConstr_value(script_ctx_t *ctx, vdisp_t *vthis, WORD flags,
break;
}
if(FAILED(hres)) {
- jsdisp_release(obj);
+ IDispatchEx_Release(&obj->IDispatchEx_iface);
return hres;
}
@@ -1209,7 +1209,7 @@ HRESULT create_array_constr(script_ctx_t *ctx, jsdisp_t *object_prototype, jsdis
hres = create_builtin_function(ctx, ArrayConstr_value, ArrayW, NULL, PROPF_CONSTR|1, &array->dispex, ret);
- jsdisp_release(&array->dispex);
+ IDispatchEx_Release(&array->dispex.IDispatchEx_iface);
return hres;
}
diff --git a/dlls/jscript/bool.c b/dlls/jscript/bool.c
index 96ebdac..7575878 100644
--- a/dlls/jscript/bool.c
+++ b/dlls/jscript/bool.c
@@ -193,7 +193,7 @@ HRESULT create_bool_constr(script_ctx_t *ctx, jsdisp_t *object_prototype, jsdisp
hres = create_builtin_function(ctx, BoolConstr_value, BooleanW, NULL,
PROPF_CONSTR|1, &bool->dispex, ret);
- jsdisp_release(&bool->dispex);
+ IDispatchEx_Release(&bool->dispex.IDispatchEx_iface);
return hres;
}
diff --git a/dlls/jscript/date.c b/dlls/jscript/date.c
index 7015e0f..14f3cc9 100644
--- a/dlls/jscript/date.c
+++ b/dlls/jscript/date.c
@@ -2670,6 +2670,6 @@ HRESULT create_date_constr(script_ctx_t *ctx, jsdisp_t *object_prototype, jsdisp
hres = create_builtin_function(ctx, DateConstr_value, DateW, &DateConstr_info,
PROPF_CONSTR|7, date, ret);
- jsdisp_release(date);
+ IDispatchEx_Release(&date->IDispatchEx_iface);
return hres;
}
diff --git a/dlls/jscript/dispex.c b/dlls/jscript/dispex.c
index 653857c..7d2c6c3 100644
--- a/dlls/jscript/dispex.c
+++ b/dlls/jscript/dispex.c
@@ -440,7 +440,7 @@ static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid,
*ppv = &This->IDispatchEx_iface;
}else if(IsEqualGUID(&IID_IDispatchJS, riid)) {
TRACE("(%p)->(IID_IDispatchJS %p)\n", This, ppv);
- jsdisp_addref(This);
+ IDispatchEx_AddRef(&This->IDispatchEx_iface);
*ppv = This;
return S_OK;
}else {
@@ -481,7 +481,7 @@ static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
heap_free(This->props);
script_release(This->ctx);
if(This->prototype)
- jsdisp_release(This->prototype);
+ IDispatchEx_Release(&This->prototype->IDispatchEx_iface);
if(This->builtin_info->destructor)
This->builtin_info->destructor(This);
@@ -758,7 +758,7 @@ HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *b
dispex->prototype = prototype;
if(prototype)
- jsdisp_addref(prototype);
+ IDispatchEx_AddRef(&prototype->IDispatchEx_iface);
dispex->prop_cnt = 1;
dispex->props[0].name = NULL;
@@ -831,7 +831,7 @@ HRESULT init_dispex_from_constr(jsdisp_t *dispex, script_ctx_t *ctx, const built
hres = init_dispex(dispex, ctx, builtin_info, prot);
if(prot)
- jsdisp_release(prot);
+ IDispatchEx_Release(&prot->IDispatchEx_iface);
if(FAILED(hres))
return hres;
@@ -845,7 +845,7 @@ HRESULT init_dispex_from_constr(jsdisp_t *dispex, script_ctx_t *ctx, const built
hres = prop_put(dispex, prop, &var, &jsexcept, NULL/*FIXME*/);
}
if(FAILED(hres))
- jsdisp_release(dispex);
+ IDispatchEx_Release(&dispex->IDispatchEx_iface);
return hres;
}
@@ -938,7 +938,7 @@ HRESULT disp_call(script_ctx_t *ctx, IDispatch *disp, DISPID id, WORD flags, DIS
jsdisp = iface_to_jsdisp((IUnknown*)disp);
if(jsdisp) {
hres = jsdisp_call(jsdisp, id, flags, dp, retv, ei, caller);
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
return hres;
}
@@ -1016,7 +1016,7 @@ HRESULT disp_propput(script_ctx_t *ctx, IDispatch *disp, DISPID id, VARIANT *val
else
hres = DISP_E_MEMBERNOTFOUND;
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
}else {
DISPID dispid = DISPID_PROPERTYPUT;
DISPPARAMS dp = {val, &dispid, 1, 1};
@@ -1099,7 +1099,7 @@ HRESULT disp_propget(script_ctx_t *ctx, IDispatch *disp, DISPID id, VARIANT *val
jsdisp = iface_to_jsdisp((IUnknown*)disp);
if(jsdisp) {
hres = jsdisp_propget(jsdisp, id, val, ei, caller);
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
return hres;
}
diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c
index 9a5ecbc..d4e0071 100644
--- a/dlls/jscript/engine.c
+++ b/dlls/jscript/engine.c
@@ -143,7 +143,7 @@ HRESULT scope_push(scope_chain_t *scope, jsdisp_t *obj, scope_chain_t **ret)
new_scope->ref = 1;
- jsdisp_addref(obj);
+ IDispatchEx_AddRef(&obj->IDispatchEx_iface);
new_scope->obj = obj;
if(scope) {
@@ -174,7 +174,7 @@ void scope_release(scope_chain_t *scope)
if(scope->next)
scope_release(scope->next);
- jsdisp_release(scope->obj);
+ IDispatchEx_Release(&scope->obj->IDispatchEx_iface);
heap_free(scope);
}
@@ -198,7 +198,7 @@ HRESULT create_exec_ctx(script_ctx_t *script_ctx, IDispatch *this_obj, jsdisp_t
ctx->this_obj = to_disp(script_ctx->global);
IDispatch_AddRef(ctx->this_obj);
- jsdisp_addref(var_disp);
+ IDispatchEx_AddRef(&var_disp->IDispatchEx_iface);
ctx->var_disp = var_disp;
if(scope) {
@@ -218,7 +218,7 @@ void exec_release(exec_ctx_t *ctx)
if(ctx->scope_chain)
scope_release(ctx->scope_chain);
if(ctx->var_disp)
- jsdisp_release(ctx->var_disp);
+ IDispatchEx_Release(&ctx->var_disp->IDispatchEx_iface);
if(ctx->this_obj)
IDispatch_Release(ctx->this_obj);
heap_free(ctx);
@@ -435,7 +435,7 @@ HRESULT exec_source(exec_ctx_t *ctx, parser_ctx_t *parser, source_elements_t *so
var_set_jsdisp(&var, func_obj);
hres = jsdisp_propput_name(ctx->var_disp, func->expr->identifier, &var, ei, NULL);
- jsdisp_release(func_obj);
+ IDispatchEx_Release(&func_obj->IDispatchEx_iface);
if(FAILED(hres))
return hres;
}
@@ -1041,7 +1041,7 @@ HRESULT with_statement_eval(script_ctx_t *ctx, statement_t *_stat, return_type_t
}
hres = scope_push(ctx->exec_ctx->scope_chain, obj, &ctx->exec_ctx->scope_chain);
- jsdisp_release(obj);
+ IDispatchEx_Release(&obj->IDispatchEx_iface);
if(FAILED(hres))
return hres;
@@ -1181,7 +1181,7 @@ static HRESULT catch_eval(script_ctx_t *ctx, catch_block_t *block, return_type_t
}
}
- jsdisp_release(var_disp);
+ IDispatchEx_Release(&var_disp->IDispatchEx_iface);
}
VariantClear(&ex);
@@ -1726,7 +1726,7 @@ HRESULT array_literal_expression_eval(script_ctx_t *ctx, expression_t *_expr, DW
}
if(FAILED(hres)) {
- jsdisp_release(array);
+ IDispatchEx_Release(&array->IDispatchEx_iface);
return hres;
}
@@ -1778,7 +1778,7 @@ HRESULT property_value_expression_eval(script_ctx_t *ctx, expression_t *_expr, D
}
if(FAILED(hres)) {
- jsdisp_release(obj);
+ IDispatchEx_Release(&obj->IDispatchEx_iface);
return hres;
}
@@ -2010,7 +2010,7 @@ static HRESULT instanceof_eval(script_ctx_t *ctx, VARIANT *inst, VARIANT *objv,
FIXME("throw TypeError\n");
hres = E_FAIL;
}
- jsdisp_release(obj);
+ IDispatchEx_Release(&obj->IDispatchEx_iface);
if(FAILED(hres))
return hres;
@@ -2028,7 +2028,7 @@ static HRESULT instanceof_eval(script_ctx_t *ctx, VARIANT *inst, VARIANT *objv,
}
if(tmp)
- jsdisp_release(tmp);
+ IDispatchEx_Release(&tmp->IDispatchEx_iface);
}else {
FIXME("prototype is not an object\n");
hres = E_FAIL;
@@ -2403,7 +2403,7 @@ static HRESULT typeof_exprval(script_ctx_t *ctx, exprval_t *exprval, jsexcept_t
if(V_DISPATCH(&val) && (dispex = iface_to_jsdisp((IUnknown*)V_DISPATCH(&val)))) {
*ret = is_class(dispex, JSCLASS_FUNCTION) ? functionW : objectW;
- jsdisp_release(dispex);
+ IDispatchEx_Release(&dispex->IDispatchEx_iface);
}else {
*ret = objectW;
}
diff --git a/dlls/jscript/error.c b/dlls/jscript/error.c
index 21a8160..0635c7e 100644
--- a/dlls/jscript/error.c
+++ b/dlls/jscript/error.c
@@ -202,7 +202,7 @@ static HRESULT create_error(script_ctx_t *ctx, jsdisp_t *constr,
V_I4(&v) = number;
hres = jsdisp_propput_name(err, numberW, &v, NULL/*FIXME*/, NULL/*FIXME*/);
if(FAILED(hres)) {
- jsdisp_release(err);
+ IDispatchEx_Release(&err->IDispatchEx_iface);
return hres;
}
@@ -218,7 +218,7 @@ static HRESULT create_error(script_ctx_t *ctx, jsdisp_t *constr,
hres = E_OUTOFMEMORY;
}
if(FAILED(hres)) {
- jsdisp_release(err);
+ IDispatchEx_Release(&err->IDispatchEx_iface);
return hres;
}
@@ -266,7 +266,7 @@ static HRESULT error_constr(script_ctx_t *ctx, WORD flags, DISPPARAMS *dp,
if(retv)
var_set_jsdisp(retv, err);
else
- jsdisp_release(err);
+ IDispatchEx_Release(&err->IDispatchEx_iface);
return S_OK;
@@ -365,7 +365,7 @@ HRESULT init_error_constr(script_ctx_t *ctx, jsdisp_t *object_prototype)
V_VT(&v) = VT_BSTR;
V_BSTR(&v) = SysAllocString(names[i]);
if(!V_BSTR(&v)) {
- jsdisp_release(err);
+ IDispatchEx_Release(&err->IDispatchEx_iface);
return E_OUTOFMEMORY;
}
@@ -375,7 +375,7 @@ HRESULT init_error_constr(script_ctx_t *ctx, jsdisp_t *object_prototype)
hres = create_builtin_function(ctx, constr_val[i], names[i], NULL,
PROPF_CONSTR|1, err, constr_addr[i]);
- jsdisp_release(err);
+ IDispatchEx_Release(&err->IDispatchEx_iface);
VariantClear(&v);
if(FAILED(hres))
return hres;
diff --git a/dlls/jscript/function.c b/dlls/jscript/function.c
index ff5364a..2f5c5f1 100644
--- a/dlls/jscript/function.c
+++ b/dlls/jscript/function.c
@@ -151,7 +151,7 @@ static HRESULT create_arguments(script_ctx_t *ctx, IDispatch *calee, DISPPARAMS
}
if(FAILED(hres)) {
- jsdisp_release(args);
+ IDispatchEx_Release(&args->IDispatchEx_iface);
return hres;
}
@@ -175,7 +175,7 @@ static HRESULT create_var_disp(script_ctx_t *ctx, FunctionInstance *function, js
if(SUCCEEDED(hres))
hres = init_parameters(var_disp, function, dp, ei, caller);
if(FAILED(hres)) {
- jsdisp_release(var_disp);
+ IDispatchEx_Release(&var_disp->IDispatchEx_iface);
return hres;
}
@@ -203,7 +203,7 @@ static HRESULT invoke_source(script_ctx_t *ctx, FunctionInstance *function, IDis
hres = create_var_disp(ctx, function, arg_disp, dp, ei, caller, &var_disp);
if(FAILED(hres)) {
- jsdisp_release(arg_disp);
+ IDispatchEx_Release(&arg_disp->IDispatchEx_iface);
return hres;
}
@@ -212,7 +212,7 @@ static HRESULT invoke_source(script_ctx_t *ctx, FunctionInstance *function, IDis
hres = create_exec_ctx(ctx, this_obj, var_disp, scope, FALSE, &exec_ctx);
scope_release(scope);
}
- jsdisp_release(var_disp);
+ IDispatchEx_Release(&var_disp->IDispatchEx_iface);
if(SUCCEEDED(hres)) {
jsdisp_t *prev_args;
@@ -221,7 +221,7 @@ static HRESULT invoke_source(script_ctx_t *ctx, FunctionInstance *function, IDis
hres = exec_source(exec_ctx, function->parser, function->source, FALSE, ei, retv);
function->arguments = prev_args;
- jsdisp_release(arg_disp);
+ IDispatchEx_Release(&arg_disp->IDispatchEx_iface);
exec_release(exec_ctx);
}
@@ -241,12 +241,12 @@ static HRESULT invoke_constructor(script_ctx_t *ctx, FunctionInstance *function,
hres = invoke_source(ctx, function, to_disp(this_obj), dp, &var, ei, caller);
if(FAILED(hres)) {
- jsdisp_release(this_obj);
+ IDispatchEx_Release(&this_obj->IDispatchEx_iface);
return hres;
}
if(V_VT(&var) == VT_DISPATCH) {
- jsdisp_release(this_obj);
+ IDispatchEx_Release(&this_obj->IDispatchEx_iface);
V_VT(retv) = VT_DISPATCH;
V_DISPATCH(retv) = V_DISPATCH(&var);
}else {
@@ -427,14 +427,14 @@ static HRESULT Function_apply(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DI
arg_array = iface_to_jsdisp((IUnknown*)V_DISPATCH(get_arg(dp,1)));
if(arg_array &&
(!is_class(arg_array, JSCLASS_ARRAY) && !is_class(arg_array, JSCLASS_ARGUMENTS) )) {
- jsdisp_release(arg_array);
+ IDispatchEx_Release(&arg_array->IDispatchEx_iface);
arg_array = NULL;
}
}
if(arg_array) {
hres = array_to_args(ctx, arg_array, ei, caller, &args);
- jsdisp_release(arg_array);
+ IDispatchEx_Release(&arg_array->IDispatchEx_iface);
}else {
FIXME("throw TypeError\n");
hres = E_FAIL;
@@ -547,7 +547,7 @@ static HRESULT Function_arguments(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags
switch(flags) {
case DISPATCH_PROPERTYGET: {
if(function->arguments) {
- jsdisp_addref(function->arguments);
+ IDispatchEx_AddRef(&function->arguments->IDispatchEx_iface);
var_set_jsdisp(retv, function->arguments);
}else {
V_VT(retv) = VT_NULL;
@@ -650,7 +650,7 @@ HRESULT create_builtin_function(script_ctx_t *ctx, builtin_invoke_t value_proc,
if(SUCCEEDED(hres))
hres = set_prototype(ctx, &function->dispex, prototype);
if(FAILED(hres)) {
- jsdisp_release(&function->dispex);
+ IDispatchEx_Release(&function->dispex.IDispatchEx_iface);
return hres;
}
@@ -678,9 +678,9 @@ HRESULT create_source_function(parser_ctx_t *ctx, parameter_t *parameters, sourc
if(SUCCEEDED(hres)) {
hres = set_prototype(ctx->script, &function->dispex, prototype);
if(FAILED(hres))
- jsdisp_release(&function->dispex);
+ IDispatchEx_Release(&function->dispex.IDispatchEx_iface);
}
- jsdisp_release(prototype);
+ IDispatchEx_Release(&prototype->IDispatchEx_iface);
if(FAILED(hres))
return hres;
@@ -851,9 +851,9 @@ HRESULT init_function_constr(script_ctx_t *ctx, jsdisp_t *object_prototype)
constr->name = FunctionW;
hres = set_prototype(ctx, &constr->dispex, &prot->dispex);
if(FAILED(hres))
- jsdisp_release(&constr->dispex);
+ IDispatchEx_Release(&constr->dispex.IDispatchEx_iface);
}
- jsdisp_release(&prot->dispex);
+ IDispatchEx_Release(&prot->dispex.IDispatchEx_iface);
if(FAILED(hres))
return hres;
diff --git a/dlls/jscript/global.c b/dlls/jscript/global.c
index 24698ac..ad3f82b 100644
--- a/dlls/jscript/global.c
+++ b/dlls/jscript/global.c
@@ -112,7 +112,7 @@ static HRESULT constructor_call(jsdisp_t *constr, WORD flags, DISPPARAMS *dp,
if(flags != DISPATCH_PROPERTYGET)
return jsdisp_call_value(constr, flags, dp, retv, ei, sp);
- jsdisp_addref(constr);
+ IDispatchEx_AddRef(&constr->IDispatchEx_iface);
var_set_jsdisp(retv, constr);
return S_OK;
}
@@ -1157,7 +1157,7 @@ HRESULT init_global(script_ctx_t *ctx)
return hres;
hres = init_constructors(ctx, object_prototype);
- jsdisp_release(object_prototype);
+ IDispatchEx_Release(&object_prototype->IDispatchEx_iface);
if(FAILED(hres))
return hres;
@@ -1171,7 +1171,7 @@ HRESULT init_global(script_ctx_t *ctx)
var_set_jsdisp(&var, math);
hres = jsdisp_propput_name(ctx->global, MathW, &var, NULL/*FIXME*/, NULL/*FIXME*/);
- jsdisp_release(math);
+ IDispatchEx_Release(&math->IDispatchEx_iface);
if(FAILED(hres))
return hres;
diff --git a/dlls/jscript/jscript.c b/dlls/jscript/jscript.c
index d682746..9be9966 100644
--- a/dlls/jscript/jscript.c
+++ b/dlls/jscript/jscript.c
@@ -467,7 +467,7 @@ static HRESULT WINAPI JScript_Close(IActiveScript *iface)
change_state(This, SCRIPTSTATE_CLOSED);
if(This->ctx->global) {
- jsdisp_release(This->ctx->global);
+ IDispatchEx_Release(&This->ctx->global->IDispatchEx_iface);
This->ctx->global = NULL;
}
}
diff --git a/dlls/jscript/jscript.h b/dlls/jscript/jscript.h
index 06258d3..37c9f1e 100644
--- a/dlls/jscript/jscript.h
+++ b/dlls/jscript/jscript.h
@@ -189,16 +189,6 @@ static inline IDispatch *to_disp(jsdisp_t *jsdisp)
return (IDispatch*)&jsdisp->IDispatchEx_iface;
}
-static inline void jsdisp_addref(jsdisp_t *jsdisp)
-{
- IDispatchEx_AddRef(&jsdisp->IDispatchEx_iface);
-}
-
-static inline void jsdisp_release(jsdisp_t *jsdisp)
-{
- IDispatchEx_Release(&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*);
diff --git a/dlls/jscript/jsutils.c b/dlls/jscript/jsutils.c
index 341b928..05d8ea5 100644
--- a/dlls/jscript/jsutils.c
+++ b/dlls/jscript/jsutils.c
@@ -222,11 +222,11 @@ HRESULT to_primitive(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, VARIANT *ret
hres = jsdisp_call(jsdisp, id, DISPATCH_METHOD, &dp, ret, ei, NULL /*FIXME*/);
if(FAILED(hres)) {
WARN("call error - forwarding exception\n");
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
return hres;
}
else if(V_VT(ret) != VT_DISPATCH) {
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
return S_OK;
}
else
@@ -238,18 +238,18 @@ HRESULT to_primitive(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, VARIANT *ret
hres = jsdisp_call(jsdisp, id, DISPATCH_METHOD, &dp, ret, ei, NULL /*FIXME*/);
if(FAILED(hres)) {
WARN("call error - forwarding exception\n");
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
return hres;
}
else if(V_VT(ret) != VT_DISPATCH) {
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
return S_OK;
}
else
IDispatch_Release(V_DISPATCH(ret));
}
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
WARN("failed\n");
return throw_type_error(ctx, ei, JS_E_TO_PRIMITIVE, NULL);
diff --git a/dlls/jscript/math.c b/dlls/jscript/math.c
index 9fff6a9..8720f4c 100644
--- a/dlls/jscript/math.c
+++ b/dlls/jscript/math.c
@@ -570,7 +570,7 @@ HRESULT create_math(script_ctx_t *ctx, jsdisp_t **ret)
V_R8(&v) = constants[i].val;
hres = jsdisp_propput_const(math, constants[i].name, &v);
if(FAILED(hres)) {
- jsdisp_release(math);
+ IDispatchEx_Release(&math->IDispatchEx_iface);
return hres;
}
}
diff --git a/dlls/jscript/number.c b/dlls/jscript/number.c
index f95a19a..05b0ee9 100644
--- a/dlls/jscript/number.c
+++ b/dlls/jscript/number.c
@@ -348,7 +348,7 @@ HRESULT create_number_constr(script_ctx_t *ctx, jsdisp_t *object_prototype, jsdi
hres = create_builtin_function(ctx, NumberConstr_value, NumberW, NULL,
PROPF_CONSTR|1, &number->dispex, ret);
- jsdisp_release(&number->dispex);
+ IDispatchEx_Release(&number->dispex.IDispatchEx_iface);
return hres;
}
diff --git a/dlls/jscript/object.c b/dlls/jscript/object.c
index 9f2e4d5..b81b466 100644
--- a/dlls/jscript/object.c
+++ b/dlls/jscript/object.c
@@ -213,7 +213,7 @@ static HRESULT ObjectConstr_value(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags
if(retv)
var_set_jsdisp(retv, obj);
else
- jsdisp_release(obj);
+ IDispatchEx_Release(&obj->IDispatchEx_iface);
break;
}
diff --git a/dlls/jscript/regexp.c b/dlls/jscript/regexp.c
index b7fb660..ae76780 100644
--- a/dlls/jscript/regexp.c
+++ b/dlls/jscript/regexp.c
@@ -3640,7 +3640,7 @@ static HRESULT create_match_array(script_ctx_t *ctx, BSTR input, const match_res
}
if(FAILED(hres)) {
- jsdisp_release(array);
+ IDispatchEx_Release(&array->IDispatchEx_iface);
return hres;
}
@@ -3857,14 +3857,14 @@ HRESULT create_regexp(script_ctx_t *ctx, const WCHAR *exp, int len, DWORD flags,
else
regexp->str = SysAllocStringLen(exp, len);
if(!regexp->str) {
- jsdisp_release(®exp->dispex);
+ IDispatchEx_Release(®exp->dispex.IDispatchEx_iface);
return E_OUTOFMEMORY;
}
regexp->jsregexp = js_NewRegExp(ctx, regexp->str, flags, FALSE);
if(!regexp->jsregexp) {
WARN("js_NewRegExp failed\n");
- jsdisp_release(®exp->dispex);
+ IDispatchEx_Release(®exp->dispex.IDispatchEx_iface);
return E_FAIL;
}
@@ -3890,11 +3890,11 @@ HRESULT create_regexp_var(script_ctx_t *ctx, VARIANT *src_arg, VARIANT *flags_ar
RegExpInstance *regexp = (RegExpInstance*)obj;
hres = create_regexp(ctx, regexp->str, -1, regexp->jsregexp->flags, ret);
- jsdisp_release(obj);
+ IDispatchEx_Release(&obj->IDispatchEx_iface);
return hres;
}
- jsdisp_release(obj);
+ IDispatchEx_Release(&obj->IDispatchEx_iface);
}
}
@@ -4018,7 +4018,7 @@ HRESULT regexp_string_match(script_ctx_t *ctx, jsdisp_t *re, BSTR str,
if(SUCCEEDED(hres) && retv)
var_set_jsdisp(retv, array);
else
- jsdisp_release(array);
+ IDispatchEx_Release(&array->IDispatchEx_iface);
return hres;
}
@@ -4088,17 +4088,17 @@ static HRESULT RegExpConstr_value(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags
if(jsdisp) {
if(is_class(jsdisp, JSCLASS_REGEXP)) {
if(arg_cnt(dp) > 1 && V_VT(get_arg(dp,1)) != VT_EMPTY) {
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
return throw_regexp_error(ctx, ei, JS_E_REGEXP_SYNTAX, NULL);
}
if(retv)
var_set_jsdisp(retv, jsdisp);
else
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
return S_OK;
}
- jsdisp_release(jsdisp);
+ IDispatchEx_Release(&jsdisp->IDispatchEx_iface);
}
}
}
@@ -4119,7 +4119,7 @@ static HRESULT RegExpConstr_value(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags
if(retv)
var_set_jsdisp(retv, ret);
else
- jsdisp_release(ret);
+ IDispatchEx_Release(&ret->IDispatchEx_iface);
return S_OK;
}
default:
@@ -4158,7 +4158,7 @@ HRESULT create_regexp_constr(script_ctx_t *ctx, jsdisp_t *object_prototype, jsdi
hres = create_builtin_function(ctx, RegExpConstr_value, RegExpW, &RegExpConstr_info,
PROPF_CONSTR|2, ®exp->dispex, ret);
- jsdisp_release(®exp->dispex);
+ IDispatchEx_Release(®exp->dispex.IDispatchEx_iface);
return hres;
}
diff --git a/dlls/jscript/string.c b/dlls/jscript/string.c
index 9c947a1..b714b73 100644
--- a/dlls/jscript/string.c
+++ b/dlls/jscript/string.c
@@ -645,7 +645,7 @@ static HRESULT String_match(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISP
if(regexp) {
if(is_class(regexp, JSCLASS_REGEXP))
break;
- jsdisp_release(regexp);
+ IDispatchEx_Release(®exp->IDispatchEx_iface);
}
default: {
BSTR match_str;
@@ -671,7 +671,7 @@ static HRESULT String_match(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISP
hres = E_OUTOFMEMORY;
}
- jsdisp_release(regexp);
+ IDispatchEx_Release(®exp->IDispatchEx_iface);
SysFreeString(val_str);
return hres;
}
@@ -813,7 +813,7 @@ static HRESULT String_replace(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DI
if(is_class(regexp, JSCLASS_REGEXP)) {
break;
}else {
- jsdisp_release(regexp);
+ IDispatchEx_Release(®exp->IDispatchEx_iface);
regexp = NULL;
}
}
@@ -835,7 +835,7 @@ static HRESULT String_replace(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DI
if(is_class(rep_func, JSCLASS_FUNCTION)) {
break;
}else {
- jsdisp_release(rep_func);
+ IDispatchEx_Release(&rep_func->IDispatchEx_iface);
rep_func = NULL;
}
}
@@ -968,7 +968,7 @@ static HRESULT String_replace(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DI
}
if(rep_func)
- jsdisp_release(rep_func);
+ IDispatchEx_Release(&rep_func->IDispatchEx_iface);
SysFreeString(rep_str);
SysFreeString(match_str);
heap_free(parens);
@@ -988,7 +988,7 @@ static HRESULT String_replace(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DI
}
if(regexp)
- jsdisp_release(regexp);
+ IDispatchEx_Release(®exp->IDispatchEx_iface);
SysFreeString(val_str);
if(SUCCEEDED(hres) && retv) {
@@ -1034,7 +1034,7 @@ static HRESULT String_search(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DIS
regexp = iface_to_jsdisp((IUnknown*)V_DISPATCH(arg));
if(regexp) {
if(!is_class(regexp, JSCLASS_REGEXP)) {
- jsdisp_release(regexp);
+ IDispatchEx_Release(®exp->IDispatchEx_iface);
regexp = NULL;
}
}
@@ -1051,7 +1051,7 @@ static HRESULT String_search(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DIS
cp = str;
hres = regexp_match_next(ctx, regexp, REM_RESET_INDEX, str, length, &cp, NULL, NULL, NULL, &match);
SysFreeString(val_str);
- jsdisp_release(regexp);
+ IDispatchEx_Release(®exp->IDispatchEx_iface);
if(FAILED(hres))
return hres;
@@ -1183,14 +1183,14 @@ static HRESULT String_split(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISP
if(is_class(regexp, JSCLASS_REGEXP)) {
use_regexp = TRUE;
hres = regexp_match(ctx, regexp, str, length, TRUE, &match_result, &match_cnt);
- jsdisp_release(regexp);
+ IDispatchEx_Release(®exp->IDispatchEx_iface);
if(FAILED(hres)) {
SysFreeString(val_str);
return hres;
}
break;
}
- jsdisp_release(regexp);
+ IDispatchEx_Release(®exp->IDispatchEx_iface);
}
}
default:
@@ -1270,7 +1270,7 @@ static HRESULT String_split(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISP
if(SUCCEEDED(hres) && retv)
var_set_jsdisp(retv, array);
else
- jsdisp_release(array);
+ IDispatchEx_Release(&array->IDispatchEx_iface);
return hres;
}
@@ -1733,7 +1733,7 @@ HRESULT create_string_constr(script_ctx_t *ctx, jsdisp_t *object_prototype, jsdi
hres = create_builtin_function(ctx, StringConstr_value, StringW, &StringConstr_info,
PROPF_CONSTR|1, &string->dispex, ret);
- jsdisp_release(&string->dispex);
+ IDispatchEx_Release(&string->dispex.IDispatchEx_iface);
return hres;
}
@@ -1752,7 +1752,7 @@ HRESULT create_string(script_ctx_t *ctx, const WCHAR *str, DWORD len, jsdisp_t *
string->length = len;
string->str = heap_alloc((len+1)*sizeof(WCHAR));
if(!string->str) {
- jsdisp_release(&string->dispex);
+ IDispatchEx_Release(&string->dispex.IDispatchEx_iface);
return E_OUTOFMEMORY;
}
diff --git a/dlls/jscript/vbarray.c b/dlls/jscript/vbarray.c
index da17a07..311d02d 100644
--- a/dlls/jscript/vbarray.c
+++ b/dlls/jscript/vbarray.c
@@ -169,7 +169,7 @@ static HRESULT VBArray_toArray(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DI
hres = jsdisp_propput_idx(array, i, v, ei, caller);
if(FAILED(hres)) {
SafeArrayUnaccessData(vbarray->safearray);
- jsdisp_release(array);
+ IDispatchEx_Release(&array->IDispatchEx_iface);
return hres;
}
v++;
@@ -302,7 +302,7 @@ static HRESULT VBArrayConstr_value(script_ctx_t *ctx, vdisp_t *vthis, WORD flags
hres = SafeArrayCopy(V_ARRAY(arg), &vbarray->safearray);
if(FAILED(hres)) {
- jsdisp_release(&vbarray->dispex);
+ IDispatchEx_Release(&vbarray->dispex.IDispatchEx_iface);
return hres;
}
@@ -330,7 +330,7 @@ HRESULT create_vbarray_constr(script_ctx_t *ctx, jsdisp_t *object_prototype, jsd
hres = create_builtin_function(ctx, VBArrayConstr_value, VBArrayW, NULL, PROPF_CONSTR|1, &vbarray->dispex, ret);
- jsdisp_release(&vbarray->dispex);
+ IDispatchEx_Release(&vbarray->dispex.IDispatchEx_iface);
return hres;
}
@@ -345,7 +345,7 @@ HRESULT create_vbarray(script_ctx_t *ctx, SAFEARRAY *sa, jsdisp_t **ret)
hres = SafeArrayCopy(sa, &vbarray->safearray);
if(FAILED(hres)) {
- jsdisp_release(&vbarray->dispex);
+ IDispatchEx_Release(&vbarray->dispex.IDispatchEx_iface);
return hres;
}
--
1.7.3.4
More information about the wine-patches
mailing list