diff --git a/dlls/dsound/capture.c b/dlls/dsound/capture.c index 1e14acdea7c..240138f4be9 100644 --- a/dlls/dsound/capture.c +++ b/dlls/dsound/capture.c @@ -895,7 +895,6 @@ IDirectSoundCaptureBufferImpl_GetCurrentPosition( if (hres != DS_OK) WARN("IDsCaptureDriverBuffer_GetPosition failed\n"); } else if (This->device->hwi) { - EnterCriticalSection(&(This->device->lock)); TRACE("old This->device->state=%s\n",captureStateString[This->device->state]); if (lpdwCapturePosition) { MMTIME mtime; @@ -907,6 +906,7 @@ IDirectSoundCaptureBufferImpl_GetCurrentPosition( *lpdwCapturePosition = mtime.u.cb; } + EnterCriticalSection(&(This->device->lock)); if (lpdwReadPosition) { if (This->device->state == STATE_STARTING) { if (lpdwCapturePosition)