changeset 15787:b25acae693cd

Change connection.c:gaim_connection_error() to still work even if the message parameter is NULL. There's no reason to error-out of that function just because some yuppie didn't pass us an error message. But we still log a critical message, so those of you at home running with fatal_criticals will still crash. I noticed this because Jabber isn't handling <stream:error/> correctly right now. Anyone else notice this? The code is written to look for "stream:error", but our xmlnode stuff just sees "error" (even though the "stream:error" format is sent over the wire). I think it's because of the libxml change. To reproduce the problem, sign onto the same resource twice and note that the error message that Gaim gives you sucks.
author Mark Doliner <mark@kingant.net>
date Tue, 13 Mar 2007 07:33:08 +0000
parents e926951e61fe
children d94d3d0f1149
files libpurple/connection.c
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/connection.c	Tue Mar 13 07:19:06 2007 +0000
+++ b/libpurple/connection.c	Tue Mar 13 07:33:08 2007 +0000
@@ -434,7 +434,11 @@
 	GaimConnectionUiOps *ops;
 
 	g_return_if_fail(gc   != NULL);
-	g_return_if_fail(text != NULL);
+
+	if (text != NULL) {
+		g_critical("gaim_connection_error: check `text != NULL' failed");
+		text = _("Unknown error");
+	}
 
 	/* If we've already got one error, we don't need any more */
 	if (gc->disconnect_timeout)