Mercurial > pidgin
changeset 24562:df9f962aa907
This technically doesn't matter due to behavior elsewhere in the prpl, but
rearrange resource priority so that Extended Away and DND presences are
preferred over Unavailable and Unavailable is preferred over unknown presence.
committer: John Bailey <rekkanoryo@rekkanoryo.org>
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 29 Nov 2008 17:05:43 +0000 |
parents | 0b2a1b6f7464 |
children | 5cd0188892f6 |
files | libpurple/protocols/jabber/buddy.c |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/buddy.c Sat Nov 29 16:50:34 2008 +0000 +++ b/libpurple/protocols/jabber/buddy.c Sat Nov 29 17:05:43 2008 +0000 @@ -115,14 +115,18 @@ break; case JABBER_BUDDY_STATE_AWAY: case JABBER_BUDDY_STATE_DND: - case JABBER_BUDDY_STATE_UNAVAILABLE: - /* This resource is away/dnd/unavailable. Prefer to one which is extended away or unknown. */ - if ((jbr->state == JABBER_BUDDY_STATE_XA) || + /* This resource is away/dnd. Prefer to one which is extended away, unavailable, or unknown. */ + if ((jbr->state == JABBER_BUDDY_STATE_XA) || (jbr->state == JABBER_BUDDY_STATE_UNAVAILABLE) || (jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR)) jbr = l->data; break; case JABBER_BUDDY_STATE_XA: - /* This resource is extended away. That's better than unknown. */ + /* This resource is extended away. That's better than unavailable or unknown. */ + if ((jbr->state == JABBER_BUDDY_STATE_UNAVAILABLE) || (jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR)) + jbr = l->data; + break; + case JABBER_BUDDY_STATE_UNAVAILABLE: + /* This resource is unavailable. That's better than unknown. */ if ((jbr->state == JABBER_BUDDY_STATE_UNKNOWN) || (jbr->state == JABBER_BUDDY_STATE_ERROR)) jbr = l->data; break;