[v3 PATCH] oleaut32: Improve support for IDispatch in VarCat
Jacek Caban
jacek at codeweavers.com
Tue Jun 6 06:24:27 CDT 2017
Hi Alistair,
The patch looks mostly good now.
On 26.05.2017 07:13, Alistair Leslie-Hughes wrote:
> + hres = VariantChangeTypeEx(&bstrvar_left,tmp,0,VARIANT_ALPHABOOL|VARIANT_LOCALBOOL,VT_BSTR);
> + if (hres == DISP_E_TYPEMISMATCH)
> {
It seems that might be the right thing to do, but one more test would
make sure about that. Please add a test that will hit this case without
VT_DISPATCH nor VT_NULL, since both of them are kind of special. As far
as I can see, a VT_BYREF with NULL reference would be good for that.
> - hres = VariantChangeTypeEx(&bstrvar_left,left,0,VARIANT_ALPHABOOL|VARIANT_LOCALBOOL,VT_BSTR);
> - if (hres != S_OK) {
> - VariantClear(&bstrvar_left);
> - VariantClear(&bstrvar_right);
> - return hres;
> - }
> + V_VT(&bstrvar_left) = VT_BSTR;
> + V_BSTR(&bstrvar_left) = SysAllocString(sz_empty);
You could just set it to NULL.
Thanks,
Jacek
More information about the wine-devel
mailing list