changeset 3254:d7ae897770d9

[gaim-migrate @ 3272] Temporary fix for buddy presence errors. committer: Tailor Script <tailor@pidgin.im>
author Jim Seymour <jseymour>
date Wed, 15 May 2002 02:47:55 +0000
parents 822d621dd325
children bea080f7f5c7
files src/protocols/jabber/jabber.c
diffstat 1 files changed, 15 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/jabber/jabber.c	Wed May 15 02:35:56 2002 +0000
+++ b/src/protocols/jabber/jabber.c	Wed May 15 02:47:55 2002 +0000
@@ -1017,7 +1017,16 @@
 		/* keep track of away msg same as yahoo plugin */
 		jabber_track_away(gjc, p, normalize(b->name), type);
 
-		if (type && (strcasecmp(type, "unavailable") == 0)) {
+		/*
+		 * JFIXME: The check for "error" is a temporary fix.  We don't want to show the
+		 * buddy on-line in this case.  Ultimately what we'll want to do is process
+		 * "error" the same way as "away" type status and probably have the GUI show,
+		 * say, a broken lightbulb?
+		 *
+		 * Note that there's another check just like this one, below.
+		 */
+		if (type && ((strcasecmp(type, "unavailable") == 0) ||
+				     (strcasecmp(type, "error") == 0))) {
 			if (resources) {
 				g_free(resources->data);
 				b->proto_data = g_slist_remove(b->proto_data, resources->data);
@@ -1041,7 +1050,11 @@
 			jabber_track_away(gjc, p, buf, type);
 			g_free(buf);
 
-			if (type && !strcasecmp(type, "unavailable")) {
+			/*
+			 * JFIXME: Here's the other place we have temporary handling of a
+			 * presence "error."
+			 */
+			if (type && (!strcasecmp(type, "unavailable") || !strcasecmp(type, "error"))) {
 				struct jabber_data *jd;
 				if (!jc && !(jc = find_existing_chat(GJ_GC(gjc), who))) {
 					g_free(buddy);