[Telepathy-commits] [telepathy-glib/master] BaseConnection: check that new self-handles are non-zero once CONNECTED
Will Thompson
will.thompson at collabora.co.uk
Thu Aug 28 08:49:39 PDT 2008
---
telepathy-glib/base-connection.c | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/telepathy-glib/base-connection.c b/telepathy-glib/base-connection.c
index 3ed7bc1..4ac746f 100644
--- a/telepathy-glib/base-connection.c
+++ b/telepathy-glib/base-connection.c
@@ -215,11 +215,18 @@ tp_base_connection_set_property (GObject *object,
break;
case PROP_SELF_HANDLE:
- tp_handle_unref (priv->handles[TP_HANDLE_TYPE_CONTACT],
- self->self_handle);
- self->self_handle = g_value_get_uint (value);
- tp_handle_ref (priv->handles[TP_HANDLE_TYPE_CONTACT],
- self->self_handle);
+ {
+ TpHandle new_self_handle = g_value_get_uint (value);
+
+ if (self->status == TP_CONNECTION_STATUS_CONNECTED)
+ g_return_if_fail (new_self_handle != 0);
+
+ tp_handle_unref (priv->handles[TP_HANDLE_TYPE_CONTACT],
+ self->self_handle);
+ self->self_handle = new_self_handle;
+ tp_handle_ref (priv->handles[TP_HANDLE_TYPE_CONTACT],
+ self->self_handle);
+ }
break;
default:
--
1.5.6.3
More information about the Telepathy-commits
mailing list