Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Schmidt <jan@centricular.com>2021-07-01 18:59:18 +0300
committerTim-Philipp Müller <tim@centricular.com>2021-07-08 15:16:11 +0300
commitf9364a302484f1c07f16be1d738180395cb49af8 (patch)
tree846179dc2e426940c6ff7afaff850ede3f7c02bb
parent2023446da1eec30c5d7fe94e0e928ee799f3366e (diff)
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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/850>
-rw-r--r--gst/parse/grammar.y.in5
1 files changed, 3 insertions, 2 deletions
diff --git a/gst/parse/grammar.y.in b/gst/parse/grammar.y.in
index 2ef703d8a0..48aadaefef 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);
+ }
}
}