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