[Telepathy-commits] [telepathy-glib/master] Check old/new self-handles are non-zero before (un)reffing

Will Thompson will.thompson at collabora.co.uk
Fri Aug 29 07:59:01 PDT 2008


---
 telepathy-glib/base-connection.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/telepathy-glib/base-connection.c b/telepathy-glib/base-connection.c
index b6d80bf..bfdb288 100644
--- a/telepathy-glib/base-connection.c
+++ b/telepathy-glib/base-connection.c
@@ -225,11 +225,15 @@ tp_base_connection_set_property (GObject      *object,
         if (self->self_handle == new_self_handle)
           return;
 
-        tp_handle_unref (priv->handles[TP_HANDLE_TYPE_CONTACT],
-            self->self_handle);
+        if (self->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);
+
+        if (self->self_handle != 0)
+          tp_handle_ref (priv->handles[TP_HANDLE_TYPE_CONTACT],
+              self->self_handle);
 
         tp_svc_connection_emit_self_handle_changed (self, self->self_handle);
       }
-- 
1.5.6.3




More information about the Telepathy-commits mailing list