Mercurial > pidgin
comparison libpurple/protocols/jabber/presence.c @ 18272:54ad47857b7b
this fixes a bug where:
Resource A comes online, as available
Resource B comes online, as available
Resource A goes away
Resource B goes away, with a lower priority than A
Buddy is still shown as available
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Mon, 25 Jun 2007 02:56:32 +0000 |
parents | 2a5c5d675789 |
children | 4434e5c9d247 |
comparison
equal
deleted
inserted
replaced
18271:589c9ebf84db | 18272:54ad47857b7b |
---|---|
563 jbr = jabber_buddy_track_resource(jb, jid->resource, priority, | 563 jbr = jabber_buddy_track_resource(jb, jid->resource, priority, |
564 state, status); | 564 state, status); |
565 } | 565 } |
566 | 566 |
567 if((found_jbr = jabber_buddy_find_resource(jb, NULL))) { | 567 if((found_jbr = jabber_buddy_find_resource(jb, NULL))) { |
568 if(!jbr || jbr == found_jbr) { | 568 purple_prpl_got_user_status(js->gc->account, buddy_name, jabber_buddy_state_get_status_id(state), "priority", found_jbr->priority, found_jbr->status ? "message" : NULL, found_jbr->status, NULL); |
569 purple_prpl_got_user_status(js->gc->account, buddy_name, jabber_buddy_state_get_status_id(state), "priority", found_jbr->priority, found_jbr->status ? "message" : NULL, found_jbr->status, NULL); | |
570 } | |
571 } else { | 569 } else { |
572 purple_prpl_got_user_status(js->gc->account, buddy_name, "offline", status ? "message" : NULL, status, NULL); | 570 purple_prpl_got_user_status(js->gc->account, buddy_name, "offline", status ? "message" : NULL, status, NULL); |
573 } | 571 } |
574 g_free(buddy_name); | 572 g_free(buddy_name); |
575 } | 573 } |