comparison libpurple/protocols/msn/slpcall.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 44b4e8bd759b 0f6747c5dcc2
comparison
equal deleted inserted replaced
17113:0b7110b9e368 17114:8ed7b2d32ad1
117 117
118 msn_slplink_remove_slpcall(slpcall->slplink, slpcall); 118 msn_slplink_remove_slpcall(slpcall->slplink, slpcall);
119 119
120 if (slpcall->end_cb != NULL) 120 if (slpcall->end_cb != NULL)
121 slpcall->end_cb(slpcall, session); 121 slpcall->end_cb(slpcall, session);
122
123 if (slpcall->xfer != NULL)
124 purple_xfer_unref(slpcall->xfer);
122 125
123 g_free(slpcall); 126 g_free(slpcall);
124 } 127 }
125 128
126 void 129 void