--- a/libpurple/protocols/msn/msn.c Wed Sep 19 15:16:32 2007 +0000
+++ b/libpurple/protocols/msn/msn.c Wed Sep 19 16:38:33 2007 +0000
@@ -722,7 +722,7 @@
if (!purple_ssl_is_supported())
- purple_connection_error(gc,
+ purple_connection_error_reason (gc, PURPLE_REASON_ENCRYPTION_ERROR, _("SSL support is needed for MSN. Please install a supported "
@@ -751,7 +751,8 @@
purple_account_set_username(account, username);
if (!msn_session_connect(session, host, port, http_method))
- purple_connection_error(gc, _("Failed to connect to server."));
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + _("Failed to connect to server.")); --- a/libpurple/protocols/msn/session.c Wed Sep 19 15:16:32 2007 +0000
+++ b/libpurple/protocols/msn/session.c Wed Sep 19 16:38:33 2007 +0000
@@ -286,6 +286,7 @@
+ PurpleDisconnectReason reason; gc = purple_account_get_connection(session->account);
@@ -293,47 +294,56 @@
+ reason = PURPLE_REASON_NETWORK_ERROR; case MSN_ERROR_UNSUPPORTED_PROTOCOL:
+ reason = PURPLE_REASON_NETWORK_ERROR; msg = g_strdup(_("Our protocol is not supported by the "
case MSN_ERROR_HTTP_MALFORMED:
+ reason = PURPLE_REASON_NETWORK_ERROR; msg = g_strdup(_("Error parsing HTTP."));
case MSN_ERROR_SIGN_OTHER:
+ reason = PURPLE_REASON_NAME_IN_USE; msg = g_strdup(_("You have signed on from another location."));
case MSN_ERROR_SERV_UNAVAILABLE:
+ reason = PURPLE_REASON_NETWORK_ERROR; msg = g_strdup(_("The MSN servers are temporarily "
"unavailable. Please wait and try "
case MSN_ERROR_SERV_DOWN:
+ reason = PURPLE_REASON_NETWORK_ERROR; msg = g_strdup(_("The MSN servers are going down "
+ reason = PURPLE_REASON_AUTHENTICATION_FAILED; msg = g_strdup_printf(_("Unable to authenticate: %s"),
_("Unknown error") : info);
case MSN_ERROR_BAD_BLIST:
+ reason = PURPLE_REASON_NETWORK_ERROR; msg = g_strdup(_("Your MSN buddy list is temporarily "
"unavailable. Please wait and try "
+ reason = PURPLE_REASON_NETWORK_ERROR; msg = g_strdup(_("Unknown error."));
msn_session_disconnect(session);
- purple_connection_error(gc, msg);
+ purple_connection_error_reason (gc, reason, msg);