Module: wine Branch: master Commit: d1897cf96ba3041e17416f618197302c996c8115 URL: https://source.winehq.org/git/wine.git/?a=commit;h=d1897cf96ba3041e17416f618...
Author: Zebediah Figura z.figura12@gmail.com Date: Wed Feb 5 19:50:07 2020 -0600
strmbase: Check if the pin is already connected in source_Connect().
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@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 90064c25d4..18631410b7 100644 --- a/dlls/strmbase/pin.c +++ b/dlls/strmbase/pin.c @@ -463,6 +463,13 @@ static HRESULT WINAPI source_Connect(IPin *iface, IPin *peer, const AM_MEDIA_TYP
EnterCriticalSection(&pin->pin.filter->csFilter);
+ if (pin->pin.peer) + { + LeaveCriticalSection(&pin->pin.filter->csFilter); + WARN("Pin is already connected, returning VFW_E_ALREADY_CONNECTED.\n"); + return VFW_E_ALREADY_CONNECTED; + } + if (pin->pin.filter->state != State_Stopped) { LeaveCriticalSection(&pin->pin.filter->csFilter);