aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/dsound.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/backends/dsound.c')
-rw-r--r--Alc/backends/dsound.c6
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;
}