From df52bdc5d42f478f92087095208614deaaf7d99b Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Fri, 2 Jul 2021 01:59:18 +1000 Subject: parse: Fix a critical when using the : operator. Fix "has no handler with id" output criticals when the : multilink operator is used. These were caused by disconnecting a signal handler multiple times. Part-of: --- gst/parse/grammar.y.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gst/parse/grammar.y.in b/gst/parse/grammar.y.in index d4ac581584..cf5eb16ba7 100644 --- a/gst/parse/grammar.y.in +++ b/gst/parse/grammar.y.in @@ -566,10 +566,11 @@ static void gst_parse_found_pad (GstElement *src, GstPad *pad, gpointer data) link->all_pads ? "all pads" : "one pad", PRETTY_PAD_NAME_ARGS (src, link->src_pad), PRETTY_PAD_NAME_ARGS (link->sink, link->sink_pad)); - g_signal_handler_disconnect (src, link->no_more_pads_signal_id); /* releases 'link' */ - if (!link->all_pads) + if (!link->all_pads) { + g_signal_handler_disconnect (src, link->no_more_pads_signal_id); g_signal_handler_disconnect (src, link->pad_added_signal_id); + } } } -- cgit v1.2.3