Module: wine Branch: master Commit: 02ce71edeea3a14dd0449b0f49b1741d939b1061 URL: http://source.winehq.org/git/wine.git/?a=commit;h=02ce71edeea3a14dd0449b0f49...
Author: Michael Stefaniuc mstefani@redhat.de Date: Tue Sep 3 23:22:44 2013 +0200
dplayx: Merge the extra struct into IDPLobbySPImpl.
---
dlls/dplayx/lobbysp.c | 67 ++++-------------------------------------------- 1 files changed, 6 insertions(+), 61 deletions(-)
diff --git a/dlls/dplayx/lobbysp.c b/dlls/dplayx/lobbysp.c index 506976d..6e7fdd6 100644 --- a/dlls/dplayx/lobbysp.c +++ b/dlls/dplayx/lobbysp.c @@ -26,28 +26,12 @@
WINE_DEFAULT_DEBUG_CHANNEL(dplay);
-/* Prototypes */ -static BOOL DPLSP_CreateDPLobbySP( void *lpSP, IDirectPlayImpl *dp ); -static BOOL DPLSP_DestroyDPLobbySP( LPVOID lpSP ); - - -/* Predefine the interface */ -typedef struct IDPLobbySPImpl IDPLobbySPImpl; - -typedef struct tagDPLobbySPData -{ - IDirectPlayImpl *dplay; -} DPLobbySPData; - -#define DPLSP_IMPL_FIELDS \ - DPLobbySPData* sp; - -struct IDPLobbySPImpl +typedef struct IDPLobbySPImpl { const IDPLobbySPVtbl *lpVtbl; LONG ref; - DPLSP_IMPL_FIELDS -}; + IDirectPlayImpl *dplay; +} IDPLobbySPImpl;
static inline IDPLobbySPImpl *impl_from_IDPLobbySP(IDPLobbySP *iface) { @@ -73,6 +57,7 @@ HRESULT DPLSP_CreateInterface( REFIID riid, void **ppvObj, IDirectPlayImpl *dp ) { IDPLobbySPImpl *This = *ppvObj; This->lpVtbl = &dpLobbySPVT; + This->dplay = dp; } else { @@ -83,45 +68,8 @@ HRESULT DPLSP_CreateInterface( REFIID riid, void **ppvObj, IDirectPlayImpl *dp ) return E_NOINTERFACE; }
- /* Initialize it */ - if( DPLSP_CreateDPLobbySP( *ppvObj, dp ) ) - { - IDPLobbySP_AddRef( (LPDPLOBBYSP)*ppvObj ); - return S_OK; - } - - /* Initialize failed, destroy it */ - DPLSP_DestroyDPLobbySP( *ppvObj ); - - HeapFree( GetProcessHeap(), 0, *ppvObj ); - *ppvObj = NULL; - - return DPERR_NOMEMORY; -} - -static BOOL DPLSP_CreateDPLobbySP( void *lpSP, IDirectPlayImpl *dp ) -{ - IDPLobbySPImpl *This = lpSP; - - This->sp = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( *(This->sp) ) ); - - if ( This->sp == NULL ) - { - return FALSE; - } - - This->sp->dplay = dp; - - return TRUE; -} - -static BOOL DPLSP_DestroyDPLobbySP( LPVOID lpSP ) -{ - IDPLobbySPImpl *This = lpSP; - - HeapFree( GetProcessHeap(), 0, This->sp ); - - return TRUE; + IDPLobbySP_AddRef( (LPDPLOBBYSP)*ppvObj ); + return S_OK; }
static HRESULT WINAPI IDPLobbySPImpl_QueryInterface( IDPLobbySP *iface, REFIID riid, @@ -159,10 +107,7 @@ static ULONG WINAPI IDPLobbySPImpl_Release( IDPLobbySP *iface ) TRACE( "(%p) ref=%d\n", This, ref );
if( !ref ) - { - DPLSP_DestroyDPLobbySP( This ); HeapFree( GetProcessHeap(), 0, This ); - }
return ref; }