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);
|