include: Declare _STGMEDIUM_UNION type except when it violates C spec.
Fixes a regression introduced by 732f67ed38
Based on a patch from Zebediah Figura <z.figura12@gmail.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47710
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
94675cd8e3
commit
6cfda676f7
|
@ -1426,8 +1426,14 @@ interface IAdviseSink : IUnknown
|
|||
default: wireHGLOBAL hGeneric;
|
||||
} GDI_OBJECT;
|
||||
|
||||
/* When NONAMELESSUNION is not defined, the presence of _STGMEDIUM_UNION
|
||||
* violates the C spec, but is necessary for C++. Avoid C spec violation. */
|
||||
cpp_quote("#if !defined(NONAMELESSUNION) && !defined(__cplusplus)")
|
||||
cpp_quote("#define _STGMEDIUM_UNION")
|
||||
cpp_quote("#endif")
|
||||
|
||||
typedef struct _userSTGMEDIUM {
|
||||
union switch(DWORD tymed) u {
|
||||
union _STGMEDIUM_UNION switch(DWORD tymed) u {
|
||||
case TYMED_NULL: ;
|
||||
case TYMED_MFPICT: wireHMETAFILEPICT hMetaFilePict;
|
||||
case TYMED_ENHMF: wireHENHMETAFILE hHEnhMetaFile;
|
||||
|
@ -1440,6 +1446,10 @@ interface IAdviseSink : IUnknown
|
|||
IUnknown *pUnkForRelease;
|
||||
} userSTGMEDIUM;
|
||||
|
||||
cpp_quote("#if !defined(NONAMELESSUNION) && !defined(__cplusplus)")
|
||||
cpp_quote("#undef _STGMEDIUM_UNION")
|
||||
cpp_quote("#endif")
|
||||
|
||||
typedef [unique] userSTGMEDIUM *wireSTGMEDIUM;
|
||||
typedef [wire_marshal(wireSTGMEDIUM)] uSTGMEDIUM STGMEDIUM;
|
||||
|
||||
|
|
Loading…
Reference in New Issue