From 6b6126ac36645c81292ba89c42cbf2e304b8d2e3 Mon Sep 17 00:00:00 2001 From: Kai Vehmanen Date: Thu, 20 Jan 2011 23:46:54 +0200 Subject: ring-call-channel: do not run dispose multiple times --- src/ring-call-channel.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ring-call-channel.c b/src/ring-call-channel.c index bd91f5b..1f4a6bd 100644 --- a/src/ring-call-channel.c +++ b/src/ring-call-channel.c @@ -106,7 +106,7 @@ struct _RingCallChannelPrivate uint8_t state; - unsigned constructed:1, released:1, closing:1; + unsigned constructed:1, released:1, closing:1, disposed:1; unsigned call_instance_seen:1; @@ -442,6 +442,10 @@ ring_call_channel_dispose(GObject *object) RingCallChannelPrivate *priv = self->priv; TpBaseChannel *base = TP_BASE_CHANNEL (object); + if (self->priv->disposed) + return; + self->priv->disposed = TRUE; + if (priv->member.handle) { TpHandleRepoIface *repo = tp_base_connection_get_handles( tp_base_channel_get_connection (base), TP_HANDLE_TYPE_CONTACT); -- cgit v1.2.3