Commit 8a75411e authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

qedit/nullrenderer: Don't drop csRenderLock in NullRenderer_DoRenderSample().

We don't grab stream_cs to change any variables checked here, except to reset flush_event, and that cannot result in a deadlock. The only possible deadlocks here are: (1) between this function and EndOfStream(), which is correct, as the two should presumably be serialized; (2) between this function and EndFlush(); however, in that case we expect BeginFlush() first, which will unblock the streaming thread. Signed-off-by: 's avatarZebediah Figura <z.figura12@gmail.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 6f05c692
...@@ -46,9 +46,7 @@ static HRESULT WINAPI NullRenderer_DoRenderSample(struct strmbase_renderer *ifac ...@@ -46,9 +46,7 @@ static HRESULT WINAPI NullRenderer_DoRenderSample(struct strmbase_renderer *ifac
const HANDLE events[2] = {filter->run_event, filter->renderer.flush_event}; const HANDLE events[2] = {filter->run_event, filter->renderer.flush_event};
SetEvent(filter->renderer.state_event); SetEvent(filter->renderer.state_event);
LeaveCriticalSection(&filter->renderer.csRenderLock);
WaitForMultipleObjects(2, events, FALSE, INFINITE); WaitForMultipleObjects(2, events, FALSE, INFINITE);
EnterCriticalSection(&filter->renderer.csRenderLock);
} }
return S_OK; return S_OK;
......
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