summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-04-06 20:24:06 -0700
committerSebastian Dröge <sebastian@centricular.com>2015-04-06 20:24:06 -0700
commita72e204eae2df22801ba93d56a898380a2120a5b (patch)
treee7215686592ad8e8732cea8eb25fd972832abc87 /ext
parent4d790dae67f5c80827abca8e978352a71f03972b (diff)
downloadgstreamer-plugins-bad-a72e204eae2df22801ba93d56a898380a2120a5b.tar.gz
glimagesink: Guard against disconnecting invalid signal ids
Diffstat (limited to 'ext')
-rw-r--r--ext/gl/gstglimagesink.c8
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);