Erich E. Hoover : quartz: Fix race condition on EndFlush between csRenderLock and filter.csFilter.
Module: wine Branch: master Commit: ee94725c8ea49a42130954a49a7c8b2ab3359c3b URL: http://source.winehq.org/git/wine.git/?a=commit;h=ee94725c8ea49a42130954a49a... Author: Erich E. Hoover <erich.e.hoover(a)gmail.com> Date: Thu Jul 17 10:31:17 2014 -0600 quartz: Fix race condition on EndFlush between csRenderLock and filter.csFilter. --- dlls/quartz/videorenderer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c index 4e8f359..571a19d 100644 --- a/dlls/quartz/videorenderer.c +++ b/dlls/quartz/videorenderer.c @@ -374,11 +374,11 @@ static HRESULT WINAPI VideoRenderer_EndFlush(BaseRenderer* iface) if (This->renderer.pMediaSample) { ResetEvent(This->hEvent); LeaveCriticalSection(iface->pInputPin->pin.pCritSec); - LeaveCriticalSection(&iface->csRenderLock); LeaveCriticalSection(&iface->filter.csFilter); + LeaveCriticalSection(&iface->csRenderLock); WaitForSingleObject(This->hEvent, INFINITE); - EnterCriticalSection(&iface->filter.csFilter); EnterCriticalSection(&iface->csRenderLock); + EnterCriticalSection(&iface->filter.csFilter); EnterCriticalSection(iface->pInputPin->pin.pCritSec); } if (This->renderer.filter.state == State_Paused) {
participants (1)
-
Alexandre Julliard