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 }