quartz: Fix deadlock with transform filter, try 2

Michael Karcher wine at mkarcher.dialup.fu-berlin.de
Tue Jul 8 03:23:29 CDT 2008


Am Montag, den 07.07.2008, 18:22 -0700 schrieb Maarten Lankhorst:
> Reworks the code so that the lock is taking in the called procedures now.

> +    InputPin *pin = (InputPin *)pTransformFilter->ppPins[0];
> +
> +    EnterCriticalSection(&pTransformFilter->csFilter);
> +    if (pTransformFilter->state == State_Stopped)
> +    {
> +        LeaveCriticalSection(&pTransformFilter->csFilter);
> +        return VFW_E_WRONG_STATE;
> +    }

I have to admit that I don't know anything about quartz. Are you sure
you may access pTransformFilter->ppPins[0] before taking the lock?

Regards,
  Michael Karcher





More information about the wine-devel mailing list