Michael Stefaniuc : dplayx: Remove the duplicated IDirectPlayLobby{2, 3}Impl structs.
Alexandre Julliard
julliard at winehq.org
Wed Apr 10 14:16:14 CDT 2013
Module: wine
Branch: master
Commit: dffc8fc5d1b0d2b9679466818b6cd2cbf006edae
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dffc8fc5d1b0d2b9679466818b6cd2cbf006edae
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Tue Apr 9 22:32:53 2013 +0200
dplayx: Remove the duplicated IDirectPlayLobby{2,3}Impl structs.
---
dlls/dplayx/dplobby.c | 64 +++++++++++-------------------------------------
1 files changed, 15 insertions(+), 49 deletions(-)
diff --git a/dlls/dplayx/dplobby.c b/dlls/dplayx/dplobby.c
index 904fbcd..74b5c08 100644
--- a/dlls/dplayx/dplobby.c
+++ b/dlls/dplayx/dplobby.c
@@ -40,10 +40,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(dplay);
*/
typedef struct IDirectPlayLobbyImpl IDirectPlayLobbyAImpl;
typedef struct IDirectPlayLobbyImpl IDirectPlayLobbyWImpl;
-typedef struct IDirectPlayLobby2Impl IDirectPlayLobby2AImpl;
-typedef struct IDirectPlayLobby2Impl IDirectPlayLobby2WImpl;
-typedef struct IDirectPlayLobby3Impl IDirectPlayLobby3AImpl;
-typedef struct IDirectPlayLobby3Impl IDirectPlayLobby3WImpl;
+typedef struct IDirectPlayLobbyImpl IDirectPlayLobby2AImpl;
+typedef struct IDirectPlayLobbyImpl IDirectPlayLobby2WImpl;
+typedef struct IDirectPlayLobbyImpl IDirectPlayLobby3AImpl;
+typedef struct IDirectPlayLobbyImpl IDirectPlayLobby3WImpl;
/* Forward declarations for this module helper methods */
HRESULT DPL_CreateCompoundAddress ( LPCDPCOMPOUNDADDRESSELEMENT lpElements, DWORD dwElementCount,
@@ -85,28 +85,13 @@ typedef struct tagDirectPlayLobbyData
DPQ_HEAD( DPLMSG ) msgs; /* List of messages received */
} DirectPlayLobbyData;
-#define DPL_IMPL_FIELDS \
- LONG ulInterfaceRef; \
- DirectPlayLobbyIUnknownData* unk; \
- DirectPlayLobbyData* dpl;
-
-struct IDirectPlayLobbyImpl
-{
- const IDirectPlayLobbyVtbl *lpVtbl;
- DPL_IMPL_FIELDS
-};
-
-struct IDirectPlayLobby2Impl
+typedef struct IDirectPlayLobbyImpl
{
- const IDirectPlayLobby2Vtbl *lpVtbl;
- DPL_IMPL_FIELDS
-};
-
-struct IDirectPlayLobby3Impl
-{
- const IDirectPlayLobby3Vtbl *lpVtbl;
- DPL_IMPL_FIELDS
-};
+ const void *lpVtbl;
+ LONG ulInterfaceRef;
+ DirectPlayLobbyIUnknownData* unk;
+ DirectPlayLobbyData* dpl;
+} IDirectPlayLobbyImpl;
/* Forward declarations of virtual tables */
static const IDirectPlayLobbyVtbl directPlayLobbyWVT;
@@ -203,46 +188,26 @@ static BOOL DPL_DestroyLobby1( LPVOID lpDPL )
HRESULT DPL_CreateInterface
( REFIID riid, LPVOID* ppvObj )
{
- TRACE( " for %s\n", debugstr_guid( riid ) );
+ IDirectPlayLobbyImpl *This;
- *ppvObj = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
- sizeof( IDirectPlayLobbyWImpl ) );
+ TRACE( " for %s\n", debugstr_guid( riid ) );
- if( *ppvObj == NULL )
- {
+ This = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( *This ) );
+ if ( !This )
return DPERR_OUTOFMEMORY;
- }
if( IsEqualGUID( &IID_IDirectPlayLobby, riid ) )
- {
- IDirectPlayLobbyWImpl *This = *ppvObj;
This->lpVtbl = &directPlayLobbyWVT;
- }
else if( IsEqualGUID( &IID_IDirectPlayLobbyA, riid ) )
- {
- IDirectPlayLobbyAImpl *This = *ppvObj;
This->lpVtbl = &directPlayLobbyAVT;
- }
else if( IsEqualGUID( &IID_IDirectPlayLobby2, riid ) )
- {
- IDirectPlayLobby2WImpl *This = *ppvObj;
This->lpVtbl = &directPlayLobby2WVT;
- }
else if( IsEqualGUID( &IID_IDirectPlayLobby2A, riid ) )
- {
- IDirectPlayLobby2AImpl *This = *ppvObj;
This->lpVtbl = &directPlayLobby2AVT;
- }
else if( IsEqualGUID( &IID_IDirectPlayLobby3, riid ) )
- {
- IDirectPlayLobby3WImpl *This = *ppvObj;
This->lpVtbl = &directPlayLobby3WVT;
- }
else if( IsEqualGUID( &IID_IDirectPlayLobby3A, riid ) )
- {
- IDirectPlayLobby3AImpl *This = *ppvObj;
This->lpVtbl = &directPlayLobby3AVT;
- }
else
{
/* Unsupported interface */
@@ -253,6 +218,7 @@ HRESULT DPL_CreateInterface
}
/* Initialize it */
+ *ppvObj = This;
if ( DPL_CreateIUnknown( *ppvObj ) &&
DPL_CreateLobby1( *ppvObj )
)
More information about the wine-cvs
mailing list