Module: wine Branch: master Commit: 493a3a0f9da826587654c99d22d48451e1de51a9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=493a3a0f9da826587654c99d22...
Author: Erich Hoover ehoover@mines.edu Date: Sat May 14 11:15:06 2011 -0600
quartz: Make sure pin state cannot change while a flush is in progress.
---
dlls/quartz/pin.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/dlls/quartz/pin.c b/dlls/quartz/pin.c index 7f75c36..bd5cffd 100644 --- a/dlls/quartz/pin.c +++ b/dlls/quartz/pin.c @@ -387,6 +387,9 @@ static void PullPin_Flush(PullPin *This)
if (This->pReader) { + /* Do not allow state to change while flushing */ + EnterCriticalSection(This->pin.pCritSec); + /* Flush outstanding samples */ IAsyncReader_BeginFlush(This->pReader);
@@ -405,6 +408,8 @@ static void PullPin_Flush(PullPin *This) }
IAsyncReader_EndFlush(This->pReader); + + LeaveCriticalSection(This->pin.pCritSec); } }