Gabriel Ivăncescu (@insn) commented about dlls/mshtml/mutation.c:
+ return E_INVALIDARG; + + callback = params->rgvarg + (params->cArgs - 1); + if (V_VT(callback) != VT_DISPATCH) + return E_INVALIDARG; + + hres = create_mutation_observer(dispex_compat_mode(&This->dispex), V_DISPATCH(callback), + &mutation_observer); + if (FAILED(hres)) + return hres; + + V_VT(res) = VT_DISPATCH; + V_DISPATCH(res) = (IDispatch*)mutation_observer; + + return S_OK; +} Please add some basic tests for the constructor, I suggested some earlier, but now since you can instantiate the object, I suggest some like:
* What happens if you construct with more than 1 arg? Probably it ignores further args rather than giving error. * What happens if you pass a null to callback? Or a number, for example? Does it give error or simply ignores it? * I think you should ignore named args, the rest of the code doesn't really deal with them, and you only have one arg to care about anyway. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3391#note_40003