[v2 PATCH] include/wincodec.idl: Stop redefinition of ID2D1Image

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Fri Jun 16 04:34:10 CDT 2017


From: wine-devel <wine-devel-bounces at winehq.org> on behalf of Vincent Povirk <madewokherd at gmail.com>
Sent: Friday, 16 June 2017 2:49 AM
To: wine-devel at winehq.org
Subject: Re: [v2 PATCH] include/wincodec.idl: Stop redefinition of ID2D1Image
    
>Why can't we handle this the way that d2d1.idl does? It doesn't
>include wincodec.idl, but it declares the interfaces it uses from
>there.

We cannot use "interface ID2D1Image;" like in d2d1.idl.  This is just a forward declare and causes compile errors when building d3dx* with
../../include/wincodec.h:5800:9: error: unknown type name ‘ID2D1Image’ ID2D1Image *image

I only see two options, 
1. Use the d2d1.idl, which will include extra interfaces not in the original
or
2. Add the following to the wincodec.idl.

#ifndef __ID2D1Image_FWD_DEFINED__
#define __ID2D1Image_FWD_DEFINED__
typedef interface ID2D1Image ID2D1Image;
#ifdef __cplusplus
interface ID2D1Image;
#endif /* __cplusplus */
#endif

I've sent v3 using the second approach above. 


 
 Best Regards
 Alistair Leslie-Hughes
    

    


More information about the wine-devel mailing list