comparison src/blist.c @ 7549:586fb1594072

[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 <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Tue, 18 Nov 2003 03:07:30 +0000
parents 783eea64614c
children 109a917692c1
comparison
equal deleted inserted replaced
7548:4c75a6bbe5df 7549:586fb1594072
205 205
206 void gaim_blist_update_buddy_status (GaimBuddy *buddy, int status) 206 void gaim_blist_update_buddy_status (GaimBuddy *buddy, int status)
207 { 207 {
208 GaimBlistUiOps *ops; 208 GaimBlistUiOps *ops;
209 209
210 if (buddy->uc == status)
211 return;
212 210
213 ops = gaimbuddylist->ui_ops; 211 ops = gaimbuddylist->ui_ops;
214 212
215 if((status & UC_UNAVAILABLE) != (buddy->uc & UC_UNAVAILABLE)) { 213 if (buddy->uc != status) {
216 if(status & UC_UNAVAILABLE) 214 if ((status & UC_UNAVAILABLE) != (buddy->uc & UC_UNAVAILABLE)) {
217 gaim_signal_emit(gaim_blist_get_handle(), "buddy-away", buddy); 215 if (status & UC_UNAVAILABLE)
218 else 216 gaim_signal_emit(gaim_blist_get_handle(), "buddy-away", buddy);
219 gaim_signal_emit(gaim_blist_get_handle(), "buddy-back", buddy); 217 else
220 } 218 gaim_signal_emit(gaim_blist_get_handle(), "buddy-back", buddy);
221 219 }
222 buddy->uc = status; 220
223 gaim_contact_compute_priority_buddy(gaim_buddy_get_contact(buddy)); 221 buddy->uc = status;
222 gaim_contact_compute_priority_buddy(gaim_buddy_get_contact(buddy));
223 }
224
224 if (ops) 225 if (ops)
225 ops->update(gaimbuddylist, (GaimBlistNode*)buddy); 226 ops->update(gaimbuddylist, (GaimBlistNode*)buddy);
226 } 227 }
227 228
228 static gboolean presence_update_timeout_cb(GaimBuddy *buddy) { 229 static gboolean presence_update_timeout_cb(GaimBuddy *buddy) {