Mercurial > pidgin.yaz
diff libpurple/prpl.c @ 29531:33715feb7b8d
Add media_caps to PurpleBuddy structure and use it to determine the old caps
in purple_prpl_got_media_caps.
author | maiku@pidgin.im |
---|---|
date | Tue, 20 Oct 2009 21:00:23 +0000 |
parents | 7a6c114c1a49 |
children | c5712737e59a |
line wrap: on
line diff
--- a/libpurple/prpl.c Tue Oct 20 20:42:58 2009 +0000 +++ b/libpurple/prpl.c Tue Oct 20 21:00:23 2009 +0000 @@ -576,12 +576,16 @@ while (list) { PurpleBuddy *buddy = list->data; + PurpleMediaCaps oldcaps = buddy->media_caps; list = g_slist_delete_link(list, list); + buddy->media_caps = purple_prpl_get_media_caps(account, name); + + if (oldcaps == buddy->media_caps) + continue; purple_signal_emit(purple_blist_get_handle(), "buddy-caps-changed", buddy, - purple_prpl_get_media_caps(account, name), - PURPLE_MEDIA_CAPS_NONE); + buddy->media_caps, oldcaps); } #endif }