diff options
Diffstat (limited to 'Alc/backends/dsound.c')
-rw-r--r-- | Alc/backends/dsound.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Alc/backends/dsound.c b/Alc/backends/dsound.c index 512667cc..c6f666e1 100644 --- a/Alc/backends/dsound.c +++ b/Alc/backends/dsound.c @@ -244,7 +244,9 @@ static ALuint DSoundPlaybackProc(ALvoid *ptr) if(FAILED(err)) { ERR("Failed to get buffer caps: 0x%lx\n", err); + ALCdevice_Lock(Device); aluHandleDisconnect(Device); + ALCdevice_Unlock(Device); return 1; } @@ -266,7 +268,9 @@ static ALuint DSoundPlaybackProc(ALvoid *ptr) if(FAILED(err)) { ERR("Failed to play buffer: 0x%lx\n", err); + ALCdevice_Lock(Device); aluHandleDisconnect(Device); + ALCdevice_Unlock(Device); return 1; } Playing = TRUE; @@ -310,7 +314,9 @@ static ALuint DSoundPlaybackProc(ALvoid *ptr) else { ERR("Buffer lock error: %#lx\n", err); + ALCdevice_Lock(Device); aluHandleDisconnect(Device); + ALCdevice_Unlock(Device); return 1; } |