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.