> > > Could you post your converted source somewhere? It could be an issue
> with
> > > particular method prototype,
> > > for example for GetSize() correct C prototype would be:
> > >
> > > D2D1_SIZE_F * target_GetSize(ID2D1HwndRenderTarget *iface, D2D1_SIZE_F
> > > *size)
> > >
> >
> > I've uploaded complete buildable source here[1]. It also includes a
> > temporary fix at line 215 of WicViewerD2D.c that you need to remove to
> see
> > the problem.
> >
>
> Thanks, I think mingw headers are broken when in C mode. Like I said, vtbl
> method prototype should be:
>
>      D2D1_SIZE_F * (STDMETHODCALLTYPE *GetSize)(
>          ID2D1HwndRenderTarget *This,
>          D2D1_SIZE_F *__ret);
>
> In Wine we generate it from .idl sources, fixed up inline wrapper is like
> this:
>
> static FORCEINLINE D2D1_SIZE_F
> ID2D1HwndRenderTarget_GetSize(ID2D1HwndRenderTarget* This) {
>      D2D1_SIZE_F __ret;
>      return *This->lpVtbl->GetSize(This,&__ret);
> }
>
>
>
> >
> > [1] https://github.com/udbr/WicViewerD2D-C
> >
>

Sorry, I think I got lost here. That fixed up wrapper should have to do
with GetSize() returning incorrect data, right? Or is it related with the
SIGSERV with gcc 9?

Thanks

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to