]> git.0d.be Git - empathy.git/commitdiff
Make sure to release all the references
authorCosimo Cecchi <cosimoc@gnome.org>
Wed, 11 Aug 2010 17:01:01 +0000 (19:01 +0200)
committerCosimo Cecchi <cosimoc@gnome.org>
Fri, 13 Aug 2010 14:22:23 +0000 (16:22 +0200)
libempathy/empathy-server-tls-handler.c
libempathy/empathy-tls-certificate.c

index feabdfbcda8d94fd9ed77043a9299504187c82ce..10a2daf2039cc7d557579b9da2c303201c994329 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "empathy-server-tls-handler.h"
 
+#include <telepathy-glib/util.h>
+
 #define DEBUG_FLAG EMPATHY_DEBUG_TLS
 #include "empathy-debug.h"
 #include "empathy-tls-certificate.h"
@@ -74,6 +76,7 @@ tls_certificate_constructed_cb (GObject *source,
     }
 
   g_simple_async_result_complete_in_idle (priv->async_init_res);
+  g_object_unref (priv->async_init_res);
 }
 
 static void
@@ -90,6 +93,7 @@ server_tls_channel_got_all_cb (TpProxy *proxy,
     {
       g_simple_async_result_set_from_error (priv->async_init_res, error);
       g_simple_async_result_complete_in_idle (priv->async_init_res);
+      g_object_unref (priv->async_init_res);
     }
   else
     {
@@ -163,9 +167,9 @@ empathy_server_tls_handler_finalize (GObject *object)
   EmpathyServerTLSHandlerPriv *priv = GET_PRIV (object);
 
   DEBUG ("%p", object);
-  
-  if (priv->channel != NULL)
-    g_object_unref (priv->channel);
+
+  tp_clear_object (&priv->channel);
+  tp_clear_object (&priv->certificate);
 
   G_OBJECT_CLASS (empathy_server_tls_handler_parent_class)->finalize (object);
 }
index 965219064ad4d13e21a3852f2c87a697f4ba6396..a9e323cc04f31c29039addbb6a71831bc1f1509f 100644 (file)
@@ -109,6 +109,8 @@ tls_certificate_got_all_cb (TpProxy *proxy,
       g_simple_async_result_set_from_error (priv->async_init_res, error);
       g_simple_async_result_complete_in_idle (priv->async_init_res);
 
+      g_object_unref (priv->async_init_res);
+
       return;
     }
 
@@ -125,6 +127,7 @@ tls_certificate_got_all_cb (TpProxy *proxy,
       priv->cert_data->len, priv->cert_type);
 
   g_simple_async_result_complete_in_idle (priv->async_init_res);
+  g_object_unref (priv->async_init_res);
 }
 
 static void
@@ -152,6 +155,7 @@ tls_certificate_init_async (GAsyncInitable *initable,
       g_simple_async_result_complete_in_idle (priv->async_init_res);
 
       g_error_free (error);
+      g_object_unref (priv->async_init_res);
       return;
     }