Mercurial > pidgin
changeset 16510:f1513338fbdb
A patch from khc in ticket #87
"... because the contact priority is not always invalidated when the blist is updated. I removed the ui update in notify_buddy_status_update() because it doesn't recompute the priority and because the only call path for that function already updates the blist"
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 27 Apr 2007 05:15:59 +0000 |
parents | c01528418cc2 |
children | f2332c0da79f |
files | libpurple/blist.c libpurple/status.c |
diffstat | 2 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/blist.c Fri Apr 27 04:35:59 2007 +0000 +++ b/libpurple/blist.c Fri Apr 27 05:15:59 2007 +0000 @@ -2334,7 +2334,6 @@ buddy = (PurpleBuddy *)bnode; if (account == buddy->account) { PurplePresence *presence; - recompute = TRUE; presence = purple_buddy_get_presence(buddy); @@ -2354,8 +2353,14 @@ if (!g_list_find(list, presence)) list = g_list_prepend(list, presence); - if (ops && ops->remove) + if (contact->priority == buddy) + purple_contact_invalidate_priority_buddy(contact); + else + recompute = TRUE; + + if (ops && ops->remove) { ops->remove(purplebuddylist, bnode); + } } } if (recompute) {