Cannot do if (flags & DPSET_REMOTE)
Francois Gouget
fgouget at free.fr
Mon Apr 18 19:43:17 CDT 2005
DPSET_REMOTE is 0 so 'if (flags & DPSET_REMOTE)' does not make any
sense. What we must do instead is check that the DPSET_LOCAL flags is
not set.
Changelog:
* dlls/dplayx/dplay.c
Francois Gouget <fgouget at free.fr>
DPSET_REMOTE is 0 so we cannot do (flags & DPSET_REMOTE).
Instead check that the DPSET_LOCAL flag is not set.
--
Francois Gouget fgouget at free.fr http://fgouget.free.fr/
Linux: the choice of a GNU generation
-------------- next part --------------
Index: dlls/dplayx/dplay.c
===================================================================
RCS file: /var/cvs/wine/dlls/dplayx/dplay.c,v
retrieving revision 1.56
diff -u -p -r1.56 dplay.c
--- dlls/dplayx/dplay.c 24 Mar 2005 21:01:39 -0000 1.56
+++ dlls/dplayx/dplay.c 18 Apr 2005 19:57:06 -0000
@@ -1143,21 +1143,23 @@ DP_SetGroupData( lpGroupData lpGData, DW
LPVOID lpData, DWORD dwDataSize )
{
/* Clear out the data with this player */
- if( ( dwFlags & DPSET_LOCAL ) &&
- ( lpGData->dwLocalDataSize != 0 )
- )
+ if( dwFlags & DPSET_LOCAL )
{
- HeapFree( GetProcessHeap(), 0, lpGData->lpLocalData );
- lpGData->lpLocalData = NULL;
- lpGData->dwLocalDataSize = 0;
+ if ( lpGData->dwLocalDataSize != 0 )
+ {
+ HeapFree( GetProcessHeap(), 0, lpGData->lpLocalData );
+ lpGData->lpLocalData = NULL;
+ lpGData->dwLocalDataSize = 0;
+ }
}
- if( ( dwFlags & DPSET_REMOTE ) &&
- ( lpGData->dwRemoteDataSize != 0 )
- )
+ else
{
- HeapFree( GetProcessHeap(), 0, lpGData->lpRemoteData );
- lpGData->lpRemoteData = NULL;
- lpGData->dwRemoteDataSize = 0;
+ if( lpGData->dwRemoteDataSize != 0 )
+ {
+ HeapFree( GetProcessHeap(), 0, lpGData->lpRemoteData );
+ lpGData->lpRemoteData = NULL;
+ lpGData->dwRemoteDataSize = 0;
+ }
}
/* Reallocate for new data */
@@ -1167,17 +1169,16 @@ DP_SetGroupData( lpGroupData lpGData, DW
sizeof( dwDataSize ) );
CopyMemory( lpNewData, lpData, dwDataSize );
- if( dwFlags & DPSET_REMOTE )
- {
- lpGData->lpRemoteData = lpNewData;
- lpGData->dwRemoteDataSize = dwDataSize;
- }
-
if( dwFlags & DPSET_LOCAL )
{
lpGData->lpLocalData = lpData;
lpGData->dwLocalDataSize = dwDataSize;
}
+ else
+ {
+ lpGData->lpRemoteData = lpNewData;
+ lpGData->dwRemoteDataSize = dwDataSize;
+ }
}
}
@@ -1340,21 +1341,23 @@ DP_SetPlayerData( lpPlayerData lpPData,
LPVOID lpData, DWORD dwDataSize )
{
/* Clear out the data with this player */
- if( ( dwFlags & DPSET_LOCAL ) &&
- ( lpPData->dwLocalDataSize != 0 )
- )
+ if( dwFlags & DPSET_LOCAL )
{
- HeapFree( GetProcessHeap(), 0, lpPData->lpLocalData );
- lpPData->lpLocalData = NULL;
- lpPData->dwLocalDataSize = 0;
+ if ( lpPData->dwLocalDataSize != 0 )
+ {
+ HeapFree( GetProcessHeap(), 0, lpPData->lpLocalData );
+ lpPData->lpLocalData = NULL;
+ lpPData->dwLocalDataSize = 0;
+ }
}
- if( ( dwFlags & DPSET_REMOTE ) &&
- ( lpPData->dwRemoteDataSize != 0 )
- )
+ else
{
- HeapFree( GetProcessHeap(), 0, lpPData->lpRemoteData );
- lpPData->lpRemoteData = NULL;
- lpPData->dwRemoteDataSize = 0;
+ if( lpPData->dwRemoteDataSize != 0 )
+ {
+ HeapFree( GetProcessHeap(), 0, lpPData->lpRemoteData );
+ lpPData->lpRemoteData = NULL;
+ lpPData->dwRemoteDataSize = 0;
+ }
}
/* Reallocate for new data */
@@ -1364,17 +1367,16 @@ DP_SetPlayerData( lpPlayerData lpPData,
sizeof( dwDataSize ) );
CopyMemory( lpNewData, lpData, dwDataSize );
- if( dwFlags & DPSET_REMOTE )
- {
- lpPData->lpRemoteData = lpNewData;
- lpPData->dwRemoteDataSize = dwDataSize;
- }
-
if( dwFlags & DPSET_LOCAL )
{
lpPData->lpLocalData = lpData;
lpPData->dwLocalDataSize = dwDataSize;
}
+ else
+ {
+ lpPData->lpRemoteData = lpNewData;
+ lpPData->dwRemoteDataSize = dwDataSize;
+ }
}
}
@@ -2412,21 +2414,15 @@ static HRESULT WINAPI DP_IF_GetGroupData
}
/* How much buffer is required? */
- if( dwFlags & DPSET_REMOTE )
- {
- dwRequiredBufferSize = lpGData->dwRemoteDataSize;
- lpCopyDataFrom = lpGData->lpRemoteData;
- }
- else if( dwFlags & DPSET_LOCAL )
+ if( dwFlags & DPSET_LOCAL )
{
dwRequiredBufferSize = lpGData->dwLocalDataSize;
lpCopyDataFrom = lpGData->lpLocalData;
}
else
{
- ERR( "Neither local or remote data requested!?!\n" );
- dwRequiredBufferSize = 0;
- lpCopyDataFrom = NULL;
+ dwRequiredBufferSize = lpGData->dwRemoteDataSize;
+ lpCopyDataFrom = lpGData->lpRemoteData;
}
/* Is the user requesting to know how big a buffer is required? */
@@ -2617,21 +2613,15 @@ static HRESULT WINAPI DP_IF_GetPlayerDat
}
/* How much buffer is required? */
- if( dwFlags & DPSET_REMOTE )
- {
- dwRequiredBufferSize = lpPList->lpPData->dwRemoteDataSize;
- lpCopyDataFrom = lpPList->lpPData->lpRemoteData;
- }
- else if( dwFlags & DPSET_LOCAL )
+ if( dwFlags & DPSET_LOCAL )
{
dwRequiredBufferSize = lpPList->lpPData->dwLocalDataSize;
lpCopyDataFrom = lpPList->lpPData->lpLocalData;
}
else
{
- ERR( "Neither local or remote data requested!?!\n" );
- dwRequiredBufferSize = 0;
- lpCopyDataFrom = NULL;
+ dwRequiredBufferSize = lpPList->lpPData->dwRemoteDataSize;
+ lpCopyDataFrom = lpPList->lpPData->lpRemoteData;
}
/* Is the user requesting to know how big a buffer is required? */
@@ -3043,7 +3033,7 @@ static HRESULT WINAPI DP_IF_SetGroupData
return DPERR_INVALIDOBJECT;
}
- if( dwFlags & DPSET_REMOTE )
+ if( !(dwFlags & DPSET_LOCAL) )
{
FIXME( "Was this group created by this interface?\n" );
/* FIXME: If this is a remote update need to allow it but not
@@ -3056,7 +3046,7 @@ static HRESULT WINAPI DP_IF_SetGroupData
/* FIXME: Only send a message if this group is local to the session otherwise
* it will have been rejected above
*/
- if( dwFlags & DPSET_REMOTE )
+ if( !(dwFlags & DPSET_LOCAL) )
{
FIXME( "Send msg?\n" );
}
@@ -3141,7 +3131,7 @@ static HRESULT WINAPI DP_IF_SetPlayerDat
return DPERR_INVALIDPLAYER;
}
- if( dwFlags & DPSET_REMOTE )
+ if( !(dwFlags & DPSET_LOCAL) )
{
FIXME( "Was this group created by this interface?\n" );
/* FIXME: If this is a remote update need to allow it but not
@@ -3151,7 +3141,7 @@ static HRESULT WINAPI DP_IF_SetPlayerDat
DP_SetPlayerData( lpPList->lpPData, dwFlags, lpData, dwDataSize );
- if( dwFlags & DPSET_REMOTE )
+ if( !(dwFlags & DPSET_LOCAL) )
{
FIXME( "Send msg?\n" );
}
More information about the wine-patches
mailing list