SWT was dealing with VT_BSTR incorrectly.  When marshaling a VT_BSTR from raw system memory into the Variant object, SWT was changing the VT_BSTR to a VT_EMPTY in cases where the data pointer was null.  In fact, this in not correct according to COM rules.  A VT_BSTR with a null data pointer should be treated as an empty string (""), not an empty variant (undefined).

I didn't know this myself, but I found a blog article on this from 2003 that goes into the nuances of BSTRs.

http://blogs.msdn.com/ericlippert/archive/2003/09/12/52976.aspx

Found by: jluis.barrera
Review by: jat (postmortem)


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1206 8db76d5a-ed1c-0410-87a9-c151d255dfc7
1 file changed