30 Aug
2023
30 Aug
'23
9:26 a.m.
Jacek Caban (@jacek) commented about dlls/mshtml/dispex.c:
return TRUE; }
+LONG dispex_ref_decr(DispatchEx *dispex) +{ + BOOL has_task_magic = FALSE; + LONG task_magic, ref; + + if(dispex->info->desc->vtbl->get_task_magic) { + task_magic = dispex->info->desc->vtbl->get_task_magic(dispex); + has_task_magic = TRUE; + }
That's very ad-hoc. dispex layer has no need to know about task magics, esp. in its ref-counting handling. On top of that, speculative `get_task_magic` calls regardless of if it's the last release or not is just ugly. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3645#note_43816