From de9cecaaa86802ba105b1735721725fc08f557cd Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Sun, 29 Jul 2007 21:04:09 +0200 Subject: [PATCH] dsound: Reset state when stopping device. --- dlls/dsound/primary.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dlls/dsound/primary.c b/dlls/dsound/primary.c index 8edf477f609..16509d60078 100644 --- a/dlls/dsound/primary.c +++ b/dlls/dsound/primary.c @@ -316,6 +316,13 @@ HRESULT DSOUND_PrimaryStop(DirectSoundDevice *device) (LPVOID)&(device->hwbuf)); if (err != DS_OK) WARN("IDsDriver_CreateSoundBuffer failed\n"); + else if (device->state == STATE_STOPPING) + device->state = STATE_STOPPED; + else if (device->state == STATE_PLAYING) + device->state = STATE_STARTING; + if (err == DS_OK) + FillMemory(device->buffer, device->buflen, (device->pwfx->wBitsPerSample == 8) ? 128 : 0); + } else { WARN("waveOutOpen failed\n"); }