[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