On Sat, Nov 23, 2019 at 10:12 PM Arthur Girardi <ad...@underdark.com.br>
wrote:

> > > > 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?
>

I think it's the same issue.


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

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

Reply via email to