From: Anton Baskanov baskanov@gmail.com
--- dlls/dplayx/dplay.c | 4 ++++ dlls/dplayx/tests/dplayx.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 9ac0fef779b..99d50f53d6c 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -3750,6 +3750,7 @@ static HRESULT DP_IF_Receive( IDirectPlayImpl *This, DPID *lpidFrom, DPID *lpidT void *lpData, DWORD *lpdwDataSize, BOOL bAnsi ) { LPDPMSG lpMsg = NULL; + DWORD msgSize;
FIXME( "(%p)->(%p,%p,0x%08lx,%p,%p,%u): stub\n", This, lpidFrom, lpidTo, dwFlags, lpData, lpdwDataSize, bAnsi ); @@ -3792,8 +3793,11 @@ static HRESULT DP_IF_Receive( IDirectPlayImpl *This, DPID *lpidFrom, DPID *lpidT return DPERR_NOMESSAGES; }
+ msgSize = lpMsg->copyMessage( NULL, lpMsg->msg, bAnsi ); + *lpidFrom = lpMsg->fromId; *lpidTo = lpMsg->toId; + *lpdwDataSize = msgSize;
/* Copy into the provided buffer */ if (lpData) lpMsg->copyMessage( lpData, lpMsg->msg, bAnsi ); diff --git a/dlls/dplayx/tests/dplayx.c b/dlls/dplayx/tests/dplayx.c index 21032876c50..c3d4dac7bc6 100644 --- a/dlls/dplayx/tests/dplayx.c +++ b/dlls/dplayx/tests/dplayx.c @@ -4126,7 +4126,7 @@ static DPID checkCreatePlayerOrGroupMessage_( int line, IDirectPlay4 *dp, DWORD expectedMsgDataSize = sizeof( DPMSG_CREATEPLAYERORGROUP ) + expectedShortNameSize + expectedLongNameSize + expectedPlayerDataSize;
- todo_wine ok_( __FILE__, line )( msgDataSize == expectedMsgDataSize, "got message size %lu.\n", msgDataSize ); + ok_( __FILE__, line )( msgDataSize == expectedMsgDataSize, "got message size %lu.\n", msgDataSize );
return toId; }