# HG changeset patch # User Luke Schierer # Date 1069124850 0 # Node ID 586fb159407280cf9cbfd4bfaddbaed8140ca18f # Parent 4c75a6bbe5df90a42f5e7eb1f5293cee2ee5f293 [gaim-migrate @ 8163] " This fixes a bug someone reported a few weeks ago where a Yahoo buddy's status changes didn't appear on the buddy list immediately. Sometimes you had to click on it, etc. Nathan tells me it's been this way for eons, but I don't remember seeing this bug before. But I haven't been around for eons, so... Nathan didn't actually say I should fix it, but I did anyway, since it was annoying me." -- quoth Tim Ringenbach (marv) committer: Tailor Script diff -r 4c75a6bbe5df -r 586fb1594072 src/blist.c --- a/src/blist.c Mon Nov 17 23:59:05 2003 +0000 +++ b/src/blist.c Tue Nov 18 03:07:30 2003 +0000 @@ -207,20 +207,21 @@ { GaimBlistUiOps *ops; - if (buddy->uc == status) - return; ops = gaimbuddylist->ui_ops; - if((status & UC_UNAVAILABLE) != (buddy->uc & UC_UNAVAILABLE)) { - if(status & UC_UNAVAILABLE) - gaim_signal_emit(gaim_blist_get_handle(), "buddy-away", buddy); - else - gaim_signal_emit(gaim_blist_get_handle(), "buddy-back", buddy); + if (buddy->uc != status) { + if ((status & UC_UNAVAILABLE) != (buddy->uc & UC_UNAVAILABLE)) { + if (status & UC_UNAVAILABLE) + gaim_signal_emit(gaim_blist_get_handle(), "buddy-away", buddy); + else + gaim_signal_emit(gaim_blist_get_handle(), "buddy-back", buddy); + } + + buddy->uc = status; + gaim_contact_compute_priority_buddy(gaim_buddy_get_contact(buddy)); } - - buddy->uc = status; - gaim_contact_compute_priority_buddy(gaim_buddy_get_contact(buddy)); + if (ops) ops->update(gaimbuddylist, (GaimBlistNode*)buddy); }