Module: wine Branch: master Commit: 9c2cf1317099b464e0984c7925c1a7f667b3513e URL: https://source.winehq.org/git/wine.git/?a=commit;h=9c2cf1317099b464e0984c792... Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Thu Nov 19 11:19:31 2020 -0600 strmbase: Forbid disconnecting the sink if the filter is not stopped. Addendum to 2a6037e263ff3fae8ca82d90b0b141bea1cd473d. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/strmbase/pin.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dlls/strmbase/pin.c b/dlls/strmbase/pin.c index c08f04730e7..d7788cda493 100644 --- a/dlls/strmbase/pin.c +++ b/dlls/strmbase/pin.c @@ -887,6 +887,13 @@ static HRESULT WINAPI sink_Disconnect(IPin *iface) EnterCriticalSection(&pin->pin.filter->csFilter); + if (pin->pin.filter->state != State_Stopped) + { + LeaveCriticalSection(&pin->pin.filter->csFilter); + WARN("Filter is not stopped; returning VFW_E_NOT_STOPPED.\n"); + return VFW_E_NOT_STOPPED; + } + if (pin->pin.peer) { if (pin->pFuncsTable->sink_disconnect)