diff options
Diffstat (limited to 'src/ring-call-channel.c')
-rw-r--r-- | src/ring-call-channel.c | 6 |
1 files changed, 5 insertions, 1 deletions
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); |