From: Anton Baskanov <baskanov(a)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; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6711