diff libpurple/protocols/msn/msn.c @ 31160:7a26ff6c0044

propagate from branch 'im.pidgin.pidgin' (head 73717266fa7d3a35ac09e09781fc5b48e2954fab) to branch 'im.pidgin.cpw.qulogic.msnp16' (head 0e28179a771a31a9afec296749d9f6c1e7f7587c)
author Mark Doliner <mark@kingant.net>
date Thu, 22 Apr 2010 17:15:26 +0000
parents 77b2d015bbf5 b0bc67f42027
children 8e765543dc8b
line wrap: on
line diff
--- a/libpurple/protocols/msn/msn.c	Sun Apr 04 19:18:26 2010 +0000
+++ b/libpurple/protocols/msn/msn.c	Thu Apr 22 17:15:26 2010 +0000
@@ -705,6 +705,14 @@
 {
 	MsnSlpLink *slplink = xfer->data;
 	msn_slplink_request_ft(slplink, xfer);
+	msn_slplink_unref(slplink);
+}
+
+static void
+t_msn_xfer_cancel_send(PurpleXfer *xfer)
+{
+	MsnSlpLink *slplink = xfer->data;
+	msn_slplink_unref(slplink);
 }
 
 static PurpleXfer*
@@ -719,9 +727,10 @@
 
 	g_return_val_if_fail(xfer != NULL, NULL);
 
-	xfer->data = msn_session_get_slplink(session, who);
+	xfer->data = msn_slplink_ref(msn_session_get_slplink(session, who));
 
 	purple_xfer_set_init_fnc(xfer, t_msn_xfer_init);
+	purple_xfer_set_cancel_send_fnc(xfer, t_msn_xfer_cancel_send);
 
 	return xfer;
 }