[Telepathy-commits] [telepathy-salut/master] gibber-oob-file-transfer: properly unref the SoupSession

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Wed Nov 12 09:49:05 PST 2008


---
 lib/gibber/gibber-oob-file-transfer.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/lib/gibber/gibber-oob-file-transfer.c b/lib/gibber/gibber-oob-file-transfer.c
index 13fc88d..ee6e8ac 100644
--- a/lib/gibber/gibber-oob-file-transfer.c
+++ b/lib/gibber/gibber-oob-file-transfer.c
@@ -65,6 +65,8 @@ struct _GibberOobFileTransferPrivate
   gboolean cancelled;
   /* the watch id on the channel */
   guint watch_id;
+  /* session used to receive the file */
+  SoupSession *session;
 };
 
 static void
@@ -122,6 +124,9 @@ gibber_oob_file_transfer_finalize (GObject *object)
   if (self->priv->msg)
     g_object_unref (G_OBJECT (self->priv->msg));
 
+  if (self->priv->session != NULL)
+    g_object_unref (self->priv->session);
+
   g_free (self->priv->served_name);
   g_free (self->priv->url);
 
@@ -360,10 +365,9 @@ gibber_oob_file_transfer_receive (GibberFileTransfer *ft,
                                   GIOChannel *dest)
 {
   GibberOobFileTransfer *self = GIBBER_OOB_FILE_TRANSFER (ft);
-  SoupSession *session;
   SoupMessage *msg;
 
-  session = soup_session_async_new ();
+  self->priv->session = soup_session_async_new ();
   msg = soup_message_new (SOUP_METHOD_GET, self->priv->url);
   if (msg == NULL)
     {
@@ -381,8 +385,8 @@ gibber_oob_file_transfer_receive (GibberFileTransfer *ft,
 
   soup_message_set_flags (msg, SOUP_MESSAGE_OVERWRITE_CHUNKS);
   g_signal_connect (msg, "got_chunk", G_CALLBACK (http_client_chunk_cb), self);
-  soup_session_queue_message (session, msg, http_client_finished_chunks_cb,
-      self);
+  soup_session_queue_message (self->priv->session, msg,
+      http_client_finished_chunks_cb, self);
 }
 
 static GibberXmppStanza *
-- 
1.5.6.5




More information about the Telepathy-commits mailing list