[empathy] Don't leak FDs when loading avatars.



commit 3000a3d49b6f0f8e1f2e364a780b75f01e0d8e6b
Author: Will Thompson <will thompson collabora co uk>
Date:   Fri Aug 26 13:48:57 2011 +0100

    Don't leak FDs when loading avatars.
    
    Reviewed-by: Guillaume Desmottes <guillaume desmottes collabora co uk>

 libempathy-gtk/empathy-ui-utils.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index 2a4b867..d5f63c9 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -622,11 +622,6 @@ avatar_icon_load_read_cb (GObject      *object,
 			avatar_pixbuf_from_loader (closure->loader),
 			g_object_unref);
 
-		/* Close the file for safety (even though it should be
-		 * automatically closed when the stream is finalised). */
-		g_input_stream_close_async (stream, G_PRIORITY_DEFAULT, NULL,
-			(GAsyncReadyCallback) avatar_icon_load_close_cb, NULL);
-
 		goto out;
 	} else {
 		/* Loop round and read another chunk. */
@@ -643,6 +638,11 @@ out_close:
 	gdk_pixbuf_loader_close (closure->loader, NULL);
 
 out:
+	/* Close the file for safety (even though it should be
+	 * automatically closed when the stream is finalised). */
+	g_input_stream_close_async (stream, G_PRIORITY_DEFAULT, NULL,
+		(GAsyncReadyCallback) avatar_icon_load_close_cb, NULL);
+
 	g_simple_async_result_complete (closure->result);
 
 	g_clear_error (&error);



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