[2/2] ddraw: Rename IDirectDraw functions (try 2)

Michael Karcher wine at mkarcher.dialup.fu-berlin.de
Sun Jun 1 04:46:26 CDT 2008


Am Sonntag, den 01.06.2008, 00:47 +0200 schrieb Stefan Dösinger:
> Am Sonntag, 1. Juni 2008 00:13:22 schrieb Christian Costa:
> > Hi Michael,
> >
> > I think it would be better to fix function names in IDirectDraw7.
> The IDirectDraw7 functions are without a version number because they're the 
> common implementation for all ddraw versions. If there's a specific function 
> for IDirectDraw7 that is not called by older versions via thunk due to 
> behavior differences, it is already called IDirectDraw7Impl_XYZ

No, it isn't. Take a look at DirectDrawImpl_AddRef and
DirectDrawImpl_Release. I can submit an alternative patch that instead
of renaming the DirectDraw(1) functions renames these two DirectDraw7
functions, which also resolves the confusing debug logs. I know, if you
look carefully, you can distinguish them by the message "IDirectDraw7
refcount" or "IDirectDraw refcount", but even here it is non-obvious
that the IDirectDraw refcount is not connected to the interface in
ddraw.c where all the functions are called IDirectDrawImpl_Foo.

Another alternative would be to leave function naming as is, and make
sure that *all* functions in ddraw_thunk.c are reporting through the
ddraw_thunk channel, which my patch [1/2] removes. I still prefer
personally a solution that does rename functions to makes function names
unique. It helps for setting breakpoints.

Regards,
  Michael Karcher




More information about the wine-devel mailing list