[QUARTZ] More fixes
Robert Shearman
rob at codeweavers.com
Mon Jun 6 16:23:50 CDT 2005
Christian Costa wrote:
>Index: dlls/quartz/parser.c
>===================================================================
>RCS file: /home/wine/wine/dlls/quartz/parser.c,v
>retrieving revision 1.16
>diff -u -r1.16 parser.c
>--- dlls/quartz/parser.c 6 Jun 2005 19:50:36 -0000 1.16
>+++ dlls/quartz/parser.c 6 Jun 2005 20:48:12 -0000
>@@ -221,6 +221,8 @@
>
> TRACE("()\n");
>
>+ if (This->state == State_Stopped) return S_OK;
>+
> EnterCriticalSection(&This->csFilter);
> {
> hr = PullPin_StopProcessing(This->pInputPin);
>@@ -239,6 +241,8 @@
>
> TRACE("()\n");
>
>+ if (This->state == State_Paused) return S_OK;
>+
> EnterCriticalSection(&This->csFilter);
> {
> bInit = (This->state == State_Stopped);
>
>
>
These changes aren't thread safe. You should do the comparisons inside
of the critical section.
--
Rob Shearman
More information about the wine-devel
mailing list