Gabriel Ivăncescu (@insn) commented about dlls/mshtml/mutation.c:
+ + TRACE("(%p)->(%lx %x %p %p %p %p)\n", This, lcid, flags, params, res, ei, caller); + + if (argc < 1) + return E_UNEXPECTED; + + callback = params->rgvarg + (params->cArgs - 1); + if (V_VT(callback) != VT_DISPATCH) { + FIXME("Should return TypeMismatchError\n"); + return E_FAIL; + } + + switch (flags) { + case DISPATCH_CONSTRUCT: + case DISPATCH_METHOD: + case DISPATCH_METHOD | DISPATCH_PROPERTYGET: The result pointer must not be NULL for `DISPATCH_METHOD | DISPATCH_PROPERTYGET`. See many such instances in dispex.c. I guess you could break after checking it though, instead of falling through, since there's only a break anyway.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3391#note_40505