Mercurial > pidgin
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) { |