pidgin.2.5.6: 30079f00: applied changes from 70fa4cc384b7643ab1f...
elb at pidgin.im
elb at pidgin.im
Tue Apr 28 20:21:01 EDT 2009
-----------------------------------------------------------------
Revision: 30079f001fcf3d37b3b998c4d62f0c3c308346fc
Ancestor: 2f2d084c77a5b905a47b7b28508172451a2bb82f
Author: elb at pidgin.im
Date: 2009-04-28T20:55:35
Branch: im.pidgin.pidgin.2.5.6
URL: http://d.pidgin.im/viewmtn/revision/info/30079f001fcf3d37b3b998c4d62f0c3c308346fc
Modified files:
ChangeLog libpurple/protocols/msn/notification.c
libpurple/protocols/msn/session.h
ChangeLog:
applied changes from 70fa4cc384b7643ab1f296bdc2399bc208542a20
through f0df27a299120baecf9ea88a9fb24ffe1dbe72fd
ChangeLog for the above
-------------- next part --------------
============================================================
--- ChangeLog a5b17c7a4d6cb28b0055a01d2a1daca25bc52abe
+++ ChangeLog ca4283a2426da5e0d67bc3bf130882200c5b4a6b
@@ -12,6 +12,8 @@ version 2.5.6 (??/??/2009):
MSN:
* Fix a race condition causing occasional Pidgin crashes.
+ * Fix some errors about the friendly name changing too fast caused
+ by MSN/Yahoo integration buddies.
Yahoo:
* Fix a crash when sending very long messages.
============================================================
--- libpurple/protocols/msn/notification.c f1b1dca6bfb4d81532fa3650b37be4110df66c2f
+++ libpurple/protocols/msn/notification.c f6594ebbd8c27ba4a0f784df595b3e711d7842f3
@@ -630,7 +630,7 @@ update_contact_network(MsnSession *sessi
} else {
purple_debug_error("msn",
- "Got FQY update for unkwown user %s on network %d.\n",
+ "Got FQY update for unknown user %s on network %d.\n",
passport, network);
}
}
@@ -685,6 +685,9 @@ msn_notification_dump_contact(MsnSession
if (++adl_count % 150 == 0) {
payload = xmlnode_to_str(adl_node, &payload_len);
+ /* ADL's are returned all-together */
+ session->adl_fqy++;
+
msn_notification_post_adl(session->notification->cmdproc,
payload, payload_len);
@@ -696,6 +699,9 @@ msn_notification_dump_contact(MsnSession
xmlnode_set_attrib(adl_node, "l", "1");
}
} else {
+ /* FQY's are returned one-at-a-time */
+ session->adl_fqy++;
+
msn_add_contact_xml(session, fqy_node, user->passport,
0, user->networkid);
@@ -717,6 +723,9 @@ msn_notification_dump_contact(MsnSession
if (adl_count == 0 || adl_count % 150 != 0) {
payload = xmlnode_to_str(adl_node, &payload_len);
+ /* ADL's are returned all-together */
+ session->adl_fqy++;
+
msn_notification_post_adl(session->notification->cmdproc, payload, payload_len);
g_free(payload);
@@ -803,7 +812,8 @@ adl_cmd(MsnCmdProc *cmdproc, MsnCommand
if (!strcmp(cmd->params[1], "OK")) {
/* ADL ack */
- msn_session_finish_login(session);
+ if (--session->adl_fqy == 0)
+ msn_session_finish_login(session);
} else {
cmdproc->last_cmd->payload_cb = adl_cmd_parse;
cmd->payload_len = atoi(cmd->params[1]);
============================================================
--- libpurple/protocols/msn/session.h 984247a50594b306aafcc6e8aad380837c1b02a0
+++ libpurple/protocols/msn/session.h c9a9484c07f665b77bde64e14eff18bad120e77f
@@ -90,6 +90,7 @@ struct _MsnSession
gboolean connected;
gboolean logged_in; /**< A temporal flag to ignore local buddy list adds. */
+ int adl_fqy; /**< A count of ADL/FQY so status is only changed once. */
gboolean destroying; /**< A flag that states if the session is being destroyed. */
gboolean http_method;
More information about the Commits
mailing list