--- a/ChangeLog Tue May 10 04:45:01 2011 +0000
+++ b/ChangeLog Wed May 11 01:58:03 2011 +0000
@@ -92,6 +92,9 @@
* Correctly handle a buddy's unsetting his/her vCard-based avatar.
(Matthew W.S. Bell) (#13370)
+ * Squash one more situation that resulted in duplicate entries in + the roster (this one where the server reports the buddy as being + in the same (empty) group. (Reported by Danny Mayer) * The Voice/Video Settings plugin now includes the ability to test
--- a/libpurple/protocols/jabber/roster.c Tue May 10 04:45:01 2011 +0000
+++ b/libpurple/protocols/jabber/roster.c Wed May 11 01:58:03 2011 +0000
@@ -243,7 +243,6 @@
remove_purple_buddies(js, jid);
- gboolean seen_empty = FALSE;
if (js->server_caps & JABBER_CAP_GOOGLE_ROSTER)
if (!jabber_google_roster_incoming(js, item))
@@ -252,10 +251,9 @@
for(group = xmlnode_get_child(item, "group"); group; group = xmlnode_get_next_twin(group)) {
char *group_name = xmlnode_get_data(group);
- if (!group_name && !seen_empty) {
- group_name = g_strdup("");
+ if (group_name == NULL || *group_name == '\0') + /* Changing this string? Look in add_purple_buddy_to_groups */ + group_name = g_strdup(_("Buddies")); * See the note in add_purple_buddy_to_groups; the core handles