Module: wine Branch: master Commit: a330b011435e18372f434635c80a1eceea8ffd9d URL: http://source.winehq.org/git/wine.git/?a=commit;h=a330b011435e18372f434635c8... Author: Maarten Lankhorst <wine(a)mblankhorst.nl> Date: Mon May 16 09:55:26 2016 -0500 dsound: Fixup DSOUND_WaveQueue checks. Signed-off-by: Andrew Eikum <aeikum(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dsound/mixer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c index dec8ffd..4ca0af1 100644 --- a/dlls/dsound/mixer.c +++ b/dlls/dsound/mixer.c @@ -621,16 +621,18 @@ static void DSOUND_WaveQueue(DirectSoundDevice *device, LPBYTE pos, DWORD bytes) hr = IAudioRenderClient_GetBuffer(device->render, bytes / device->pwfx->nBlockAlign, &buffer); if(FAILED(hr)){ WARN("GetBuffer failed: %08x\n", hr); - goto done; + return; } memcpy(buffer, pos, bytes); hr = IAudioRenderClient_ReleaseBuffer(device->render, bytes / device->pwfx->nBlockAlign, 0); - if(FAILED(hr)) - WARN("ReleaseBuffer failed: %08x\n", hr); + if(FAILED(hr)) { + ERR("ReleaseBuffer failed: %08x\n", hr); + IAudioRenderClient_ReleaseBuffer(device->render, 0, 0); + return; + } -done: device->pad += bytes; }