diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-04-06 20:24:06 -0700 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-04-06 20:24:06 -0700 |
commit | a72e204eae2df22801ba93d56a898380a2120a5b (patch) | |
tree | e7215686592ad8e8732cea8eb25fd972832abc87 /ext | |
parent | 4d790dae67f5c80827abca8e978352a71f03972b (diff) | |
download | gstreamer-plugins-bad-a72e204eae2df22801ba93d56a898380a2120a5b.tar.gz |
glimagesink: Guard against disconnecting invalid signal ids
Diffstat (limited to 'ext')
-rw-r--r-- | ext/gl/gstglimagesink.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c index f4187e997..e03f70776 100644 --- a/ext/gl/gstglimagesink.c +++ b/ext/gl/gstglimagesink.c @@ -1580,8 +1580,12 @@ gst_glimage_sink_on_close (GstGLImageSink * gl_sink) window = gst_gl_context_get_window (gl_sink->context); - g_signal_handler_disconnect (window, gl_sink->key_sig_id); - g_signal_handler_disconnect (window, gl_sink->mouse_sig_id); + if (gl_sink->key_sig_id) + g_signal_handler_disconnect (window, gl_sink->key_sig_id); + gl_sink->key_sig_id = 0; + if (gl_sink->mouse_sig_id) + g_signal_handler_disconnect (window, gl_sink->mouse_sig_id); + gl_sink->mouse_sig_id = 0; g_atomic_int_set (&gl_sink->to_quit, 1); |