Mercurial > pidgin
diff src/protocols/msn/session.c @ 10602:f52ab405f1ab
[gaim-migrate @ 12032]
This is patch 1112281 from Felipe Contreras, it prevents file transfers being
cancelled when closing a conversation window with the sender/recipient.
committer: Tailor Script <tailor@pidgin.im>
| author | Stu Tomlinson <stu@nosnilmot.com> |
|---|---|
| date | Wed, 16 Feb 2005 20:14:12 +0000 |
| parents | 0f7452b1f777 |
| children | fe919915fceb |
line wrap: on
line diff
--- a/src/protocols/msn/session.c Wed Feb 16 03:57:23 2005 +0000 +++ b/src/protocols/msn/session.c Wed Feb 16 20:14:12 2005 +0000 @@ -144,7 +144,8 @@ /* TODO: This must go away when conversation is redesigned */ MsnSwitchBoard * -msn_session_find_swboard(MsnSession *session, const char *username) +msn_session_find_swboard(MsnSession *session, const char *username, + MsnSBFlag flag) { GList *l; @@ -157,16 +158,17 @@ swboard = l->data; - if (swboard->im_user != NULL) - if (!strcmp(username, swboard->im_user)) - return swboard; + if ((swboard->im_user != NULL) && + !strcmp(username, swboard->im_user) && (swboard->flag & flag)) + return swboard; } return NULL; } MsnSwitchBoard * -msn_session_find_switch_with_id(const MsnSession *session, int chat_id) +msn_session_find_swboard_with_id(const MsnSession *session, int chat_id, + MsnSBFlag flag) { GList *l; @@ -179,7 +181,7 @@ swboard = l->data; - if (swboard->chat_id == chat_id) + if ((swboard->chat_id == chat_id) && (swboard->flag & flag)) return swboard; } @@ -187,16 +189,18 @@ } MsnSwitchBoard * -msn_session_get_swboard(MsnSession *session, const char *username) +msn_session_get_swboard(MsnSession *session, const char *username, + MsnSBFlag flag) { MsnSwitchBoard *swboard; - swboard = msn_session_find_swboard(session, username); + swboard = msn_session_find_swboard(session, username, flag); if (swboard == NULL) { swboard = msn_switchboard_new(session); swboard->im_user = g_strdup(username); + swboard->flag = flag; msn_switchboard_request(swboard); msn_switchboard_request_add_user(swboard, username); }
