Commit 47425a58 authored by Erich E. Hoover's avatar Erich E. Hoover Committed by Alexandre Julliard

strmbase: Fix race condition on InputPin_EndFlush between csRenderLock and filter.csFilter.

parent c2254779
...@@ -155,8 +155,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_EndFlush(IPin * iface) ...@@ -155,8 +155,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_EndFlush(IPin * iface)
TRACE("(%p/%p)->()\n", This, pFilter); TRACE("(%p/%p)->()\n", This, pFilter);
EnterCriticalSection(&pFilter->filter.csFilter);
EnterCriticalSection(&pFilter->csRenderLock); EnterCriticalSection(&pFilter->csRenderLock);
EnterCriticalSection(&pFilter->filter.csFilter);
EnterCriticalSection(This->pin.pCritSec); EnterCriticalSection(This->pin.pCritSec);
hr = BaseInputPinImpl_EndFlush(iface); hr = BaseInputPinImpl_EndFlush(iface);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
...@@ -167,8 +167,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_EndFlush(IPin * iface) ...@@ -167,8 +167,8 @@ static HRESULT WINAPI BaseRenderer_InputPin_EndFlush(IPin * iface)
hr = BaseRendererImpl_EndFlush(pFilter); hr = BaseRendererImpl_EndFlush(pFilter);
} }
LeaveCriticalSection(This->pin.pCritSec); LeaveCriticalSection(This->pin.pCritSec);
LeaveCriticalSection(&pFilter->csRenderLock);
LeaveCriticalSection(&pFilter->filter.csFilter); LeaveCriticalSection(&pFilter->filter.csFilter);
LeaveCriticalSection(&pFilter->csRenderLock);
return hr; return hr;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment