Gabriel Ivăncescu : qedit: Remove the splitter from the graph if it failed to connect.

Alexandre Julliard julliard at winehq.org
Fri Apr 24 15:11:38 CDT 2020


Module: wine
Branch: master
Commit: 4d94e773fc0ca95526df3270c9899439c13a54fc
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4d94e773fc0ca95526df3270c9899439c13a54fc

Author: Gabriel Ivăncescu <gabrielopcode at 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 at gmail.com>
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at 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);
     }
 




More information about the wine-cvs mailing list