From: Gabriel Ivăncescu gabrielopcode@gmail.com
It's only used in dispex_prop_delete now.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/jscript/dispex.c | 51 ++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 27 deletions(-)
diff --git a/dlls/jscript/dispex.c b/dlls/jscript/dispex.c index fc7ca939294..f45838f3109 100644 --- a/dlls/jscript/dispex.c +++ b/dlls/jscript/dispex.c @@ -630,32 +630,6 @@ static HRESULT invoke_prop_func(jsdisp_t *This, IDispatch *jsthis, dispex_prop_t return E_FAIL; }
-static HRESULT delete_prop(dispex_prop_t *prop, BOOL *ret) -{ - if(prop->type == PROP_PROTREF) { - *ret = TRUE; - return S_OK; - } - - if(!(prop->flags & PROPF_CONFIGURABLE)) { - *ret = FALSE; - return S_OK; - } - - *ret = TRUE; - - if(prop->type == PROP_JSVAL) - jsval_release(prop->u.val); - if(prop->type == PROP_ACCESSOR) { - if(prop->u.accessor.getter) - jsdisp_release(prop->u.accessor.getter); - if(prop->u.accessor.setter) - jsdisp_release(prop->u.accessor.setter); - } - prop->type = PROP_DELETED; - return S_OK; -} - static HRESULT dispex_prop_get(struct prop_desc *prop, IDispatch *jsthis, jsval_t *r) { return prop_get(prop->jsdisp, jsthis, &prop->jsdisp->props[prop_id_to_idx(prop->id)], r); @@ -674,7 +648,30 @@ static HRESULT dispex_prop_invoke(struct prop_desc *prop, IDispatch *jsthis, WOR
static HRESULT dispex_prop_delete(struct prop_desc *prop, BOOL *ret) { - return delete_prop(&prop->jsdisp->props[prop_id_to_idx(prop->id)], ret); + dispex_prop_t *p = &prop->jsdisp->props[prop_id_to_idx(prop->id)]; + + if(p->type == PROP_PROTREF) { + *ret = TRUE; + return S_OK; + } + + if(!(p->flags & PROPF_CONFIGURABLE)) { + *ret = FALSE; + return S_OK; + } + + *ret = TRUE; + + if(p->type == PROP_JSVAL) + jsval_release(p->u.val); + if(p->type == PROP_ACCESSOR) { + if(p->u.accessor.getter) + jsdisp_release(p->u.accessor.getter); + if(p->u.accessor.setter) + jsdisp_release(p->u.accessor.setter); + } + p->type = PROP_DELETED; + return S_OK; }
static HRESULT dispex_prop_get_desc(struct prop_desc *prop, BOOL flags_only, property_desc_t *desc)