telepathy-idle: ServerConnection: don't leak GTask used to connect

Simon McVittie smcv at kemper.freedesktop.org
Wed May 1 09:01:43 PDT 2013


Module: telepathy-idle
Branch: master
Commit: adc09f4516414218f9753dfd1c59b1571fd05b6e
URL:    http://cgit.freedesktop.org/telepathy/telepathy-idle/commit/?id=adc09f4516414218f9753dfd1c59b1571fd05b6e

Author: Will Thompson <will.thompson at collabora.co.uk>
Date:   Tue Apr 30 19:06:24 2013 +0100

ServerConnection: don't leak GTask used to connect

---

 src/idle-server-connection.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/idle-server-connection.c b/src/idle-server-connection.c
index bc7a972..9620fd8 100644
--- a/src/idle-server-connection.c
+++ b/src/idle-server-connection.c
@@ -285,6 +285,7 @@ cleanup:
 }
 
 static void _connect_to_host_ready(GObject *source_object, GAsyncResult *res, gpointer user_data) {
+	GTask *task = G_TASK (res);
 	GSimpleAsyncResult *result = G_SIMPLE_ASYNC_RESULT(user_data);
 	IdleServerConnection *conn = IDLE_SERVER_CONNECTION(g_async_result_get_source_object(G_ASYNC_RESULT(result)));
 	IdleServerConnectionPrivate *priv = IDLE_SERVER_CONNECTION_GET_PRIVATE(conn);
@@ -295,7 +296,7 @@ static void _connect_to_host_ready(GObject *source_object, GAsyncResult *res, gp
 	gint socket_fd;
 	GError *error = NULL;
 
-	socket_connection = g_task_propagate_pointer (G_TASK (res), &error);
+	socket_connection = g_task_propagate_pointer (task, &error);
 	if (socket_connection == NULL) {
 		IDLE_DEBUG("g_socket_client_connect_to_host failed: %s", error->message);
 		g_simple_async_result_set_error(result, TP_ERROR, TP_ERROR_NETWORK_ERROR, "%s", error->message);
@@ -322,6 +323,7 @@ static void _connect_to_host_ready(GObject *source_object, GAsyncResult *res, gp
 cleanup:
 	g_simple_async_result_complete(result);
 	g_object_unref(result);
+	g_object_unref(task);
 }
 
 



More information about the telepathy-commits mailing list