diff options
author | Olivier CrĂȘte <olivier.crete@collabora.com> | 2014-08-18 15:30:05 -0400 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2014-08-18 15:31:10 -0400 |
commit | 5f2a2dd6fc5869689d6bdb72b1ddfb91cd1aa138 (patch) | |
tree | 45480d3b0dac99acd214ee8a466812f57247913d /gst | |
parent | 489c8e1c791a172477d0f7ac7a165f4260203cf9 (diff) | |
download | libnice-5f2a2dd6fc5869689d6bdb72b1ddfb91cd1aa138.tar.gz |
nicesink: Check for signal present before removing it
The signal is only connected when setting an agent, if no agent
has been set, there will be no signal.
Diffstat (limited to 'gst')
-rw-r--r-- | gst/gstnicesink.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gst/gstnicesink.c b/gst/gstnicesink.c index 5433a30..80cca40 100644 --- a/gst/gstnicesink.c +++ b/gst/gstnicesink.c @@ -259,11 +259,10 @@ gst_nice_sink_dispose (GObject *object) { GstNiceSink *sink = GST_NICE_SINK (object); - if (sink->agent) { + if (sink->agent && sink->writable_id) g_signal_handler_disconnect (sink->agent, sink->writable_id); - g_object_unref (sink->agent); - } - sink->agent = NULL; + sink->writable_id = 0; + g_clear_object (&sink->agent); g_cond_clear (&sink->writable_cond); |