On Tue, Jan 03, 2006 at 07:00:15PM +0900, Mike McCormack wrote: > > Many installers cause Wine's oleaut32 to output alot of FIXME messages > like this: > > fixme:ole:_copy_arg Should not use VariantChangeType here. (conversion > from 0x4003 -> 0xb) 0000ffff > > This message is somewhat frustrating, as although it warns of a > potential problem, it provides no insight into the solution. > > I found the patch that introduced the problem (using git): > > git-whatchanged -p -C -S'Should not use VariantChangeType' > commit hash -> 49eaa0db2b3f7443ead40ef4a5d5b3d650c11384 > > It removed an (IMO) slightly more useful message: > > "argument was coerced in-place (0x%x -> 0x%x); source data has been > modified!!!\n" > > Can anybody help suggest the real way to fix the problem? Is it that we > have to make a copy of the args array before modifying it? Maybe we can > put a comment in the code about how to fix it, some somebody looking at > it in the future will know how to solve it right?
I was not fully sure what problems might arise out of just copying the variant as I wrote this code. Its a pretty messy approach. It should work fine when the variant is self contained at least. I think Rob wants to get rid of this function anyway. Ciao, Marcus