Maarten Lankhorst : dsound: Hold lock in GetStatus.

Alexandre Julliard julliard at winehq.org
Mon Apr 7 06:50:29 CDT 2008


Module: wine
Branch: master
Commit: 98933362f379e8a108703d9d5631f86e1c788fd1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=98933362f379e8a108703d9d5631f86e1c788fd1

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Wed Apr  2 15:01:27 2008 -0700

dsound: Hold lock in GetStatus.

---

 dlls/dsound/buffer.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index bb08f4a..108636a 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -465,11 +465,13 @@ static HRESULT WINAPI IDirectSoundBufferImpl_GetStatus(
 	}
 
 	*status = 0;
+	RtlAcquireResourceShared(&This->lock, TRUE);
 	if ((This->state == STATE_STARTING) || (This->state == STATE_PLAYING)) {
 		*status |= DSBSTATUS_PLAYING;
 		if (This->playflags & DSBPLAY_LOOPING)
 			*status |= DSBSTATUS_LOOPING;
 	}
+	RtlReleaseResource(&This->lock);
 
 	TRACE("status=%x\n", *status);
 	return DS_OK;




More information about the wine-cvs mailing list