Change REFIID to IID* for stack declarations in oaidl_p.c to avoid initializers being discarded

Marcus Meissner marcus at jet.franken.de
Sun Jun 27 14:13:17 CDT 2004


On Sun, Jun 27, 2004 at 05:23:27PM +0100, Mike Hearn wrote:
> This can cause a subtle marshalling failure in some cases 
> (inter-thread IDispatch, native MSI, etc)
> 
> 
> Mike Hearn <mh at codeweavers.com>
> Change REFIID to IID* for stack declarations in oaidl_p.c to avoid
> initializers being discarded


 
> Index: oaidl_p.c
> ===================================================================
> RCS file: /home/wine/wine/dlls/oleaut32/oaidl_p.c,v
> retrieving revision 1.2
> diff -u -p -w -r1.2 oaidl_p.c
> --- oaidl_p.c   5 Sep 2003 23:08:33 -0000       1.2
> +++ oaidl_p.c   27 Jun 2004 16:17:04 -0000
> @@ -1,5 +1,14 @@
> -/* this ALWAYS GENERATED file contains the proxy stub code */
> +/* This file contains the proxy/stub code for core COM interfaces.
>   
> +   It is usually generated directly by MIDL, however this file has
> +   been tweaked since then to account for slight differences in the way
> +   gcc and MSVC++ compile it. In particular, in some functions REFIIDs
> +   declared on the stack have been converted to plain IID* in order to eliminate
> +   the constness of the REFIID type, ensuring that the zero initializer is not
> +   discarded.
> +
> +   Therefore, please do not regenerate this file.
> +*/

The comment is not understandable.

Shouldn't it read '"REFIID" should not be used, because the value is not "const"'?

Ciao, Marcus



More information about the wine-patches mailing list