Module: wine Branch: master Commit: 4d94e773fc0ca95526df3270c9899439c13a54fc URL: https://source.winehq.org/git/wine.git/?a=commit;h=4d94e773fc0ca95526df3270c... Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Thu Apr 23 14:45:45 2020 -0500 qedit: Remove the splitter from the graph if it failed to connect. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/qedit/mediadet.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/dlls/qedit/mediadet.c b/dlls/qedit/mediadet.c index d63825c629..eb7a51928b 100644 --- a/dlls/qedit/mediadet.c +++ b/dlls/qedit/mediadet.c @@ -193,17 +193,12 @@ static HRESULT find_splitter(MediaDetImpl *detector) hr = IBaseFilter_EnumPins(splitter, &enum_pins); if (FAILED(hr)) - { - IBaseFilter_Release(splitter); - continue; - } + goto next; + hr = IEnumPins_Next(enum_pins, 1, &splitter_pin, NULL); IEnumPins_Release(enum_pins); if (FAILED(hr)) - { - IBaseFilter_Release(splitter); - continue; - } + goto next; hr = IPin_Connect(source_pin, splitter_pin, NULL); IPin_Release(splitter_pin); @@ -213,6 +208,8 @@ static HRESULT find_splitter(MediaDetImpl *detector) break; } +next: + IGraphBuilder_RemoveFilter(detector->graph, splitter); IBaseFilter_Release(splitter); }