Module: wine Branch: master Commit: f937b89cd7b8ebd5e685fa5ea92c3dab66d2b07b URL: https://gitlab.winehq.org/wine/wine/-/commit/f937b89cd7b8ebd5e685fa5ea92c3da...
Author: Gabriel Ivăncescu gabrielopcode@gmail.com Date: Tue Aug 1 19:45:25 2023 +0300
mshtml: Use unlink and destructor in the vtbl for the MutationObserver constructor.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com
---
dlls/mshtml/mutation.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/mutation.c b/dlls/mshtml/mutation.c index e6d080cff16..3f544e0a90f 100644 --- a/dlls/mshtml/mutation.c +++ b/dlls/mshtml/mutation.c @@ -1303,10 +1303,8 @@ static ULONG WINAPI mutation_observer_ctor_Release(IUnknown *iface)
TRACE("(%p) ref=%ld\n", This, ref);
- if(!ref) { + if(!ref) release_dispex(&This->dispex); - free(This); - }
return ref; } @@ -1317,6 +1315,12 @@ static const IUnknownVtbl mutation_observer_ctor_vtbl = { mutation_observer_ctor_Release, };
+static void mutation_observer_ctor_destructor(DispatchEx *dispex) +{ + struct mutation_observer_ctor *This = mutation_observer_ctor_from_DispatchEx(dispex); + free(This); +} + static HRESULT mutation_observer_ctor_value(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller) @@ -1365,7 +1369,9 @@ static HRESULT mutation_observer_ctor_value(DispatchEx *dispex, LCID lcid, }
static dispex_static_data_vtbl_t mutation_observer_ctor_dispex_vtbl = { - .value = mutation_observer_ctor_value + mutation_observer_ctor_destructor, + NULL, + mutation_observer_ctor_value };
static const tid_t mutation_observer_ctor_iface_tids[] = {