[glib] gsocketlistener: set source object tag before completing the GTask



commit ac025007cc571cd767fac8cbd6f937d01773ce28
Author: Aleksander Morgado <aleksander lanedo com>
Date:   Mon Dec 3 15:59:06 2012 +0100

    gsocketlistener: set source object tag before completing the GTask
    
    Otherwise, the finish() method won't find the source object.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=689538

 gio/gsocketlistener.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/gio/gsocketlistener.c b/gio/gsocketlistener.c
index f6aba24..7af0d14 100644
--- a/gio/gsocketlistener.c
+++ b/gio/gsocketlistener.c
@@ -694,12 +694,12 @@ accept_ready (GSocket      *accept_socket,
   socket = g_socket_accept (accept_socket, g_task_get_cancellable (task), &error);
   if (socket)
     {
-      g_task_return_pointer (task, socket, g_object_unref);
       source_object = g_object_get_qdata (G_OBJECT (accept_socket), source_quark);
       if (source_object)
 	g_object_set_qdata_full (G_OBJECT (task),
 				 source_quark,
 				 g_object_ref (source_object), g_object_unref);
+      g_task_return_pointer (task, socket, g_object_unref);
     }
   else
     {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]