# HG changeset patch # User Jim Seymour # Date 1021430875 0 # Node ID d7ae897770d99c341d75a6b89c693d695bfd6e4b # Parent 822d621dd3257fb8565b003a698506ad059eaf8e [gaim-migrate @ 3272] Temporary fix for buddy presence errors. committer: Tailor Script diff -r 822d621dd325 -r d7ae897770d9 src/protocols/jabber/jabber.c --- 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);