pidgin: 70a6182c: Don't request an acknowledgement on an a...
qulogic at pidgin.im
qulogic at pidgin.im
Sun Nov 23 17:45:41 EST 2008
-----------------------------------------------------------------
Revision: 70a6182c551a9b81c9b2110aa79d2f3b86ca49f1
Ancestor: 5ce546528e882ed89b8492478e931ba96fe07155
Author: qulogic at pidgin.im
Date: 2008-11-23T22:40:18
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/70a6182c551a9b81c9b2110aa79d2f3b86ca49f1
Modified files:
libpurple/protocols/msn/msn.c
libpurple/protocols/msn/switchboard.c
ChangeLog:
Don't request an acknowledgement on an auto-response message and don't set a
timeout to say that it was never received.
Fixes #6604.
-------------- next part --------------
============================================================
--- libpurple/protocols/msn/msn.c da5afaf07071ad983139e1de06cbe681a2fbec69
+++ libpurple/protocols/msn/msn.c 8bc2a50c5b624babd3562ec8eaa2c9801005f867
@@ -1196,6 +1196,9 @@ msn_send_im(PurpleConnection *gc, const
purple_debug_info("msn", "prepare to send online Message\n");
if (g_ascii_strcasecmp(who, username))
{
+ if (flags & PURPLE_MESSAGE_AUTO_RESP) {
+ msn_message_set_flag(msg, 'U');
+ }
if (msn_user_is_yahoo(account, who)) {
/*we send the online and offline Message to Yahoo User via UBM*/
purple_debug_info("msn", "send to Yahoo User\n");
============================================================
--- libpurple/protocols/msn/switchboard.c 2c06c39a2271dee94b565eb8eec6e9f4dfb96216
+++ libpurple/protocols/msn/switchboard.c 7a97c02db70c547f774794f7033bee831e012099
@@ -577,6 +577,7 @@ release_msg(MsnSwitchBoard *swboard, Msn
MsnTransaction *trans;
char *payload;
gsize payload_len;
+ char flag;
g_return_if_fail(swboard != NULL);
g_return_if_fail(msg != NULL);
@@ -590,32 +591,35 @@ release_msg(MsnSwitchBoard *swboard, Msn
msn_message_show_readable(msg, "SB SEND", FALSE);
#endif
+ flag = msn_message_get_flag(msg);
trans = msn_transaction_new(cmdproc, "MSG", "%c %" G_GSIZE_FORMAT,
- msn_message_get_flag(msg), payload_len);
+ flag, payload_len);
/* Data for callbacks */
msn_transaction_set_data(trans, msg);
- if (msg->type == MSN_MSG_TEXT)
- {
- msg->ack_ref = TRUE;
- msn_message_ref(msg);
- swboard->ack_list = g_list_append(swboard->ack_list, msg);
- msn_transaction_set_timeout_cb(trans, msg_timeout);
- }
- else if (msg->type == MSN_MSG_SLP)
- {
- msg->ack_ref = TRUE;
- msn_message_ref(msg);
- swboard->ack_list = g_list_append(swboard->ack_list, msg);
- msn_transaction_set_timeout_cb(trans, msg_timeout);
-#if 0
- if (msg->ack_cb != NULL)
+ if (flag != 'U') {
+ if (msg->type == MSN_MSG_TEXT)
{
- msn_transaction_add_cb(trans, "ACK", msg_ack);
- msn_transaction_add_cb(trans, "NAK", msg_nak);
+ msg->ack_ref = TRUE;
+ msn_message_ref(msg);
+ swboard->ack_list = g_list_append(swboard->ack_list, msg);
+ msn_transaction_set_timeout_cb(trans, msg_timeout);
}
+ else if (msg->type == MSN_MSG_SLP)
+ {
+ msg->ack_ref = TRUE;
+ msn_message_ref(msg);
+ swboard->ack_list = g_list_append(swboard->ack_list, msg);
+ msn_transaction_set_timeout_cb(trans, msg_timeout);
+#if 0
+ if (msg->ack_cb != NULL)
+ {
+ msn_transaction_add_cb(trans, "ACK", msg_ack);
+ msn_transaction_add_cb(trans, "NAK", msg_nak);
+ }
#endif
+ }
}
trans->payload = payload;
More information about the Commits
mailing list