Jacek Caban (@jacek) commented about dlls/mshtml/htmlelem.c:
- case VT_EMPTY:
- case VT_BSTR:
- case VT_NULL:
return S_FALSE;
- default:
break;
- }
- hres = change_type(&args[1], &dp->rgvarg[dp->cArgs - 1], VT_BSTR, caller);
- if(FAILED(hres))
return hres;
- args[0] = dp->rgvarg[dp->cArgs - 2];
- hres = dispex_call_builtin(dispex, DISPID_IHTMLELEMENT6_GETATTRIBUTENS, &new_dp, res, ei, caller);
- VariantClear(&args[1]);
- return hres;
We already have similar cases, so it's probably not a blocker, but I think that we eventually need to find a way to just use change_type() in the implementation itself. That would make all those hooks unneeded.