From: Jim S. <jse...@us...> - 2002-05-15 02:47:58
|
Update of /cvsroot/gaim/gaim/src/protocols/jabber In directory usw-pr-cvs1:/tmp/cvs-serv18435/src/protocols/jabber Modified Files: jabber.c Log Message: Temporary fix for buddy presence errors. Index: jabber.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/jabber/jabber.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -d -r1.49 -r1.50 --- jabber.c 9 May 2002 13:53:12 -0000 1.49 +++ jabber.c 15 May 2002 02:47:55 -0000 1.50 @@ -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); |