From 5c313ddb2557218b7ccd4b3dd13dc1aad3834506 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Wed, 11 Aug 2010 19:01:01 +0200 Subject: [PATCH] Make sure to release all the references --- libempathy/empathy-server-tls-handler.c | 10 +++++++--- libempathy/empathy-tls-certificate.c | 4 ++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libempathy/empathy-server-tls-handler.c b/libempathy/empathy-server-tls-handler.c index feabdfbc..10a2daf2 100644 --- a/libempathy/empathy-server-tls-handler.c +++ b/libempathy/empathy-server-tls-handler.c @@ -20,6 +20,8 @@ #include "empathy-server-tls-handler.h" +#include + #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); } diff --git a/libempathy/empathy-tls-certificate.c b/libempathy/empathy-tls-certificate.c index 96521906..a9e323cc 100644 --- a/libempathy/empathy-tls-certificate.c +++ b/libempathy/empathy-tls-certificate.c @@ -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; } -- 2.39.2