Gabriel Ivăncescu : mshtml: Fix previous EventObj leak.
Module: wine Branch: master Commit: 10a6b80811af5965a393cfb62bb4e057f30184dd URL: https://gitlab.winehq.org/wine/wine/-/commit/10a6b80811af5965a393cfb62bb4e05... Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Wed Dec 14 22:06:07 2022 +0200 mshtml: Fix previous EventObj leak. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> --- dlls/mshtml/htmlevent.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 45db4719b10..bcde9f38bba 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -3683,11 +3683,14 @@ static HRESULT dispatch_event_object(EventTarget *event_target, DOMEvent *event, *r = variant_bool(!event->prevent_default); if(target_vtbl && target_vtbl->set_current_event) { - prev_event = target_vtbl->set_current_event(&event_target->dispex, prev_event); - if(prev_event) - IHTMLEventObj_Release(prev_event); + IHTMLEventObj *prev = target_vtbl->set_current_event(&event_target->dispex, prev_event); + if(prev) + IHTMLEventObj_Release(prev); } + if(prev_event) + IHTMLEventObj_Release(prev_event); + if(event_info[event->event_id].flags & EVENT_HASDEFAULTHANDLERS) { BOOL prevent_default = event->prevent_default; for(i = 0; !prevent_default && i < chain_cnt; i++) {
participants (1)
-
Alexandre Julliard