diff libpurple/protocols/msn/slp.c @ 17114:8ed7b2d32ad1

slpcall now explicitlt references its xfer and unreferences it when it is destroyed. While it *looks* like this should *probably* have happened anyways due to the interactins between xfer_init, xfer_end, and xfer_cancel_remote, having the xfer's owner make this explicit makes the process less fragile and more obvious, and it may fix a crash as the slp is destroyed. Fixes #1070
author Evan Schoenberg <evan.s@dreskin.net>
date Thu, 17 May 2007 14:32:24 +0000
parents 0b7110b9e368
children 1b95e3bd5628 0f6747c5dcc2
line wrap: on
line diff
--- a/libpurple/protocols/msn/slp.c	Thu May 17 14:30:48 2007 +0000
+++ b/libpurple/protocols/msn/slp.c	Thu May 17 14:32:24 2007 +0000
@@ -363,6 +363,8 @@
 			purple_xfer_set_cancel_recv_fnc(xfer, msn_xfer_cancel);
 
 			slpcall->xfer = xfer;
+			purple_xfer_ref(slpcall->xfer);
+
 			xfer->data = slpcall;
 
 			purple_xfer_request(xfer);