diff libpurple/protocols/jabber/jabber.c @ 20778:8174f6999308

Sprinkle gc->wants_to_die = TRUE liberally around connection errors that really ought to have been setting it already so that it is always set when a disconnection reason is fatal. In a couple of other places, fix the reason to be more accurate and not be fatal.
author Will Thompson <will.thompson@collabora.co.uk>
date Fri, 05 Oct 2007 18:33:27 +0000
parents f3cfcbbac3d8
children 682543aced31
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jabber.c	Fri Oct 05 16:50:54 2007 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Fri Oct 05 18:33:27 2007 +0000
@@ -588,12 +588,14 @@
 	js->old_length = -1;
 
 	if(!js->user) {
+		gc->wants_to_die = TRUE;
 		purple_connection_error_reason (gc, PURPLE_REASON_INVALID_SETTINGS,
 			_("Invalid XMPP ID"));
 		return;
 	}
 	
 	if (!js->user->domain || *(js->user->domain) == '\0') {
+		gc->wants_to_die = TRUE;
 		purple_connection_error_reason (gc, PURPLE_REASON_INVALID_SETTINGS,
 			_("Invalid XMPP ID. Domain must be set."));
 		return;
@@ -625,6 +627,7 @@
 					purple_account_get_int(account, "port", 5223), jabber_login_callback_ssl,
 					jabber_ssl_connect_failure, js->gc);
 		} else {
+			js->gc->wants_to_die = TRUE;
 			purple_connection_error_reason (js->gc, PURPLE_REASON_ENCRYPTION_ERROR,
 				_("SSL support unavailable"));
 		}
@@ -1079,6 +1082,7 @@
 	js->old_length = -1;
 
 	if(!js->user) {
+		gc->wants_to_die = TRUE;
 		purple_connection_error_reason (gc, PURPLE_REASON_INVALID_SETTINGS,
 			_("Invalid XMPP ID"));
 		return;
@@ -1112,6 +1116,7 @@
 					purple_account_get_int(account, "port", 5222),
 					jabber_login_callback_ssl, jabber_ssl_connect_failure, gc);
 		} else {
+			gc->wants_to_die = TRUE;
 			purple_connection_error_reason (gc, PURPLE_REASON_ENCRYPTION_ERROR,
 				_("SSL support unavailable"));
 		}