comparison libpurple/protocols/msn/slplink.c @ 17137: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 941965d6fd88 0f6747c5dcc2
comparison
equal deleted inserted replaced
17136:0b7110b9e368 17137:8ed7b2d32ad1
761 slpcall->session_init_cb = send_file_cb; 761 slpcall->session_init_cb = send_file_cb;
762 slpcall->end_cb = msn_xfer_end_cb; 762 slpcall->end_cb = msn_xfer_end_cb;
763 slpcall->progress_cb = msn_xfer_progress_cb; 763 slpcall->progress_cb = msn_xfer_progress_cb;
764 slpcall->cb = msn_xfer_completed_cb; 764 slpcall->cb = msn_xfer_completed_cb;
765 slpcall->xfer = xfer; 765 slpcall->xfer = xfer;
766 purple_xfer_ref(slpcall->xfer);
766 767
767 slpcall->pending = TRUE; 768 slpcall->pending = TRUE;
768 769
769 purple_xfer_set_cancel_send_fnc(xfer, msn_xfer_cancel); 770 purple_xfer_set_cancel_send_fnc(xfer, msn_xfer_cancel);
770 771