comparison libpurple/protocols/msn/slp.c @ 17135:acde78931954

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:29:17 +0000
parents 21830d70709b
children 0b7110b9e368
comparison
equal deleted inserted replaced
17084:10c7c5d4ea25 17135:acde78931954
361 purple_xfer_set_init_fnc(xfer, msn_xfer_init); 361 purple_xfer_set_init_fnc(xfer, msn_xfer_init);
362 purple_xfer_set_request_denied_fnc(xfer, msn_xfer_cancel); 362 purple_xfer_set_request_denied_fnc(xfer, msn_xfer_cancel);
363 purple_xfer_set_cancel_recv_fnc(xfer, msn_xfer_cancel); 363 purple_xfer_set_cancel_recv_fnc(xfer, msn_xfer_cancel);
364 364
365 slpcall->xfer = xfer; 365 slpcall->xfer = xfer;
366 purple_xfer_ref(slpcall->xfer);
367
366 xfer->data = slpcall; 368 xfer->data = slpcall;
367 369
368 purple_xfer_request(xfer); 370 purple_xfer_request(xfer);
369 } 371 }
370 } 372 }