From 20b769dcb9ab751ac0f7a6098eab1f9cdfd6b07a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= Date: Fri, 4 Aug 2023 17:30:15 +0300 Subject: [PATCH] mshtml: Use unlink and destructor in the vtbl for HTMLDOMChildrenCollection. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gabriel Ivăncescu --- dlls/mshtml/htmlnode.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index 0b509eca79a..d412b570aec 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -239,10 +239,8 @@ static ULONG WINAPI HTMLDOMChildrenCollection_Release(IHTMLDOMChildrenCollection TRACE("(%p) ref=%ld\n", This, ref); - if(!ref) { - nsIDOMNodeList_Release(This->nslist); - free(This); - } + if(!ref) + release_dispex(&This->dispex); return ref; } @@ -364,6 +362,18 @@ static inline HTMLDOMChildrenCollection *impl_from_DispatchEx(DispatchEx *iface) return CONTAINING_RECORD(iface, HTMLDOMChildrenCollection, dispex); } +static void HTMLDOMChildrenCollection_unlink(DispatchEx *dispex) +{ + HTMLDOMChildrenCollection *This = impl_from_DispatchEx(dispex); + unlink_ref(&This->nslist); +} + +static void HTMLDOMChildrenCollection_destructor(DispatchEx *dispex) +{ + HTMLDOMChildrenCollection *This = impl_from_DispatchEx(dispex); + free(This); +} + #define DISPID_CHILDCOL_0 MSHTML_DISPID_CUSTOM_MIN static HRESULT HTMLDOMChildrenCollection_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid) @@ -433,8 +443,8 @@ static HRESULT HTMLDOMChildrenCollection_invoke(DispatchEx *dispex, DISPID id, L } static const dispex_static_data_vtbl_t HTMLDOMChildrenCollection_dispex_vtbl = { - NULL, - NULL, + HTMLDOMChildrenCollection_destructor, + HTMLDOMChildrenCollection_unlink, NULL, HTMLDOMChildrenCollection_get_dispid, HTMLDOMChildrenCollection_get_name,