Module: wine Branch: master Commit: 55b37182056ed5a00b0a7796109d10265cc36492 URL: https://source.winehq.org/git/wine.git/?a=commit;h=55b37182056ed5a00b0a77961... Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Fri Jan 19 17:54:39 2018 -0600 quartz: Wait for the PullPin thread to terminate. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/quartz/pin.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dlls/quartz/pin.c b/dlls/quartz/pin.c index 355d87d..5197d5c 100644 --- a/dlls/quartz/pin.c +++ b/dlls/quartz/pin.c @@ -541,11 +541,7 @@ static void PullPin_Thread_Stop(PullPin *This) TRACE("(%p)->()\n", This); EnterCriticalSection(This->pin.pCritSec); - { - CloseHandle(This->hThread); - This->hThread = NULL; - SetEvent(This->hEventStateChanged); - } + SetEvent(This->hEventStateChanged); LeaveCriticalSection(This->pin.pCritSec); IBaseFilter_Release(This->pin.pinInfo.pFilter); @@ -831,6 +827,10 @@ HRESULT WINAPI PullPin_Disconnect(IPin *iface) } LeaveCriticalSection(This->pin.pCritSec); + WaitForSingleObject(This->hThread, INFINITE); + CloseHandle(This->hThread); + This->hThread = NULL; + return hr; }