diff options
author | Olivier CrĂȘte <olivier.crete@collabora.com> | 2012-03-14 17:28:50 -0400 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.com> | 2012-03-14 18:49:54 -0400 |
commit | 9d9a0143b2792ee7f3fc25f4072cc72c8b0cbcf2 (patch) | |
tree | a0035bc55a42b9e3b56258c953ff0bd4bc4980c2 | |
parent | 05ad14bf449b1da5fd42fe1da97a7fa1e5e79fe5 (diff) | |
download | telepathy-farstream-9d9a0143b2792ee7f3fc25f4072cc72c8b0cbcf2.tar.gz |
CallStream: Split finalize from dispose
-rw-r--r-- | telepathy-farstream/call-stream.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/telepathy-farstream/call-stream.c b/telepathy-farstream/call-stream.c index 1874100..3a71a22 100644 --- a/telepathy-farstream/call-stream.c +++ b/telepathy-farstream/call-stream.c @@ -57,6 +57,7 @@ G_DEFINE_TYPE (TfCallStream, tf_call_stream, G_TYPE_OBJECT); static void tf_call_stream_dispose (GObject *object); +static void tf_call_stream_finalize (GObject *object); static void tf_call_stream_fail_literal (TfCallStream *self, TpCallStateChangeReason reason, @@ -78,6 +79,7 @@ tf_call_stream_class_init (TfCallStreamClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->dispose = tf_call_stream_dispose; + object_class->finalize = tf_call_stream_finalize; } static void @@ -98,14 +100,6 @@ tf_call_stream_dispose (GObject *object) g_object_unref (self->proxy); self->proxy = NULL; - if (self->stun_servers) - g_boxed_free (TP_ARRAY_TYPE_SOCKET_ADDRESS_IP_LIST, self->stun_servers); - self->stun_servers = NULL; - - if (self->relay_info) - g_boxed_free (TP_ARRAY_TYPE_STRING_VARIANT_MAP_LIST, self->relay_info); - self->relay_info = NULL; - if (self->fsstream) _tf_call_content_put_fsstream (self->call_content, self->fsstream); self->fsstream = NULL; @@ -117,6 +111,25 @@ tf_call_stream_dispose (GObject *object) G_OBJECT_CLASS (tf_call_stream_parent_class)->dispose (object); } +static void +tf_call_stream_finalize (GObject *object) +{ + TfCallStream *self = TF_CALL_STREAM (object); + + g_debug (G_STRFUNC); + + if (self->stun_servers) + g_boxed_free (TP_ARRAY_TYPE_SOCKET_ADDRESS_IP_LIST, self->stun_servers); + self->stun_servers = NULL; + + if (self->relay_info) + g_boxed_free (TP_ARRAY_TYPE_STRING_VARIANT_MAP_LIST, self->relay_info); + self->relay_info = NULL; + + if (G_OBJECT_CLASS (tf_call_stream_parent_class)->finalize) + G_OBJECT_CLASS (tf_call_stream_parent_class)->finalize (object); +} + static void tf_call_stream_update_sending_state (TfCallStream *self) |