https://bugs.winehq.org/show_bug.cgi?id=54226 Zeb Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12(a)gmail.com --- Comment #1 from Zeb Figura <z.figura12(a)gmail.com> --- (In reply to Alvin Wong from comment #0)
(I have not checked what `/cstruct_out` on MIDL actually does to the C bindings.)
This, basically: @@ -129,8 +129,9 @@ EXTERN_C const IID IID_ID2D1Bitmap; ID2D1Bitmap * This); DECLSPEC_XFGVIRT(ID2D1Bitmap, b) - struct apple ( STDMETHODCALLTYPE *b )( - ID2D1Bitmap * This); + struct apple *( STDMETHODCALLTYPE *b )( + ID2D1Bitmap * This, + apple * RetVal); END_INTERFACE } ID2D1BitmapVtbl; @@ -158,8 +159,8 @@ EXTERN_C const IID IID_ID2D1Bitmap; #define ID2D1Bitmap_a(This) \ ( (This)->lpVtbl -> a(This) ) -#define ID2D1Bitmap_b(This) \ - ( (This)->lpVtbl -> b(This) ) +#define ID2D1Bitmap_b(This,RetVal) \ + ( (This)->lpVtbl -> b(This,RetVal) ) #endif /* COBJMACROS */ But we already emit the C type definition (the first hunk) with ABI compatibility in all cases. For the macro we currently have e.g. #define ID2D1Bitmap_a(This) (This)->lpVtbl->a(This) #define ID2D1Bitmap_b(This) ID2D1Bitmap_b_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support but is there really any point to doing this? Do we care about API compatibility if the API is just broken? Should we just implement the ABI-compatible behaviour for the macros and not bother checking cstruct_out? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.