comparison src/protocols/msn/slplink.c @ 9259:f5f7482678d2

[gaim-migrate @ 10058] Patch by Felipe Contreras. He says, "This patch creates a different callback for the end of a slpcall, so there is no mistake with the current callback for a sucessful slpcall ... when we reach the end of a slpcall the slpcall data has been destroyed, the got_userdisplay cb should be called only as the sucessfull slpcall callback." Essentially, it fixes the corrupt buddy icon checksum issue, though it needs another patch that has to be reworked first, if I understood right. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Thu, 10 Jun 2004 20:57:52 +0000
parents e20af87d8721
children b4dc3827470a
comparison
equal deleted inserted replaced
9258:43323228a3da 9259:f5f7482678d2
211 MsnSlpMessage *slpmsg; 211 MsnSlpMessage *slpmsg;
212 long long real_size; 212 long long real_size;
213 213
214 slpmsg = cmd->trans->data; 214 slpmsg = cmd->trans->data;
215 215
216 #if 0
217 if (slpmsg->wasted)
218 {
219 gaim_debug_info("msn", "slpmsg cancelled %p\n", slpmsg);
220
221 if (slpmsg->slpcall != NULL)
222 {
223 if (slpmsg->slpcall->cb != NULL)
224 slpmsg->slpcall->cb(slpmsg->slpcall, NULL, -1);
225
226 msn_slpcall_destroy(slpmsg->slpcall);
227 }
228
229 msn_slpmsg_destroy(slpmsg);
230 }
231 #endif
232
233 real_size = (slpmsg->flags == 0x2) ? 0 : slpmsg->size; 216 real_size = (slpmsg->flags == 0x2) ? 0 : slpmsg->size;
234 217
235 if (slpmsg->offset < real_size) 218 if (slpmsg->offset < real_size)
236 { 219 {
237 msn_slplink_send_msgpart(slpmsg->slplink, slpmsg); 220 msn_slplink_send_msgpart(slpmsg->slplink, slpmsg);
646 slpcall = msn_slp_call_new(slplink); 629 slpcall = msn_slp_call_new(slplink);
647 msn_slp_call_init(slpcall, MSN_SLPCALL_DC); 630 msn_slp_call_init(slpcall, MSN_SLPCALL_DC);
648 631
649 slpcall->session_init_cb = send_file; 632 slpcall->session_init_cb = send_file;
650 slpcall->progress_cb = msn_xfer_progress_cb; 633 slpcall->progress_cb = msn_xfer_progress_cb;
651 slpcall->cb = msn_xfer_finish_cb; 634 slpcall->cb = msn_xfer_completed_cb;
652 slpcall->xfer = xfer; 635 slpcall->xfer = xfer;
653 636
654 gaim_xfer_set_cancel_send_fnc(xfer, msn_xfer_cancel); 637 gaim_xfer_set_cancel_send_fnc(xfer, msn_xfer_cancel);
655 638
656 xfer->data = slpcall; 639 xfer->data = slpcall;