[Pidgin] #14309: Pidgin doesnt remember me in created group after program restart
Pidgin
trac at pidgin.im
Sun Jun 19 11:49:06 EDT 2011
#14309: Pidgin doesnt remember me in created group after program restart
--------------------+-------------------------------------------------------
Reporter: LukynZ | Owner: deryni
Type: defect | Status: new
Milestone: | Component: XMPP
Version: 2.8.0 | Resolution:
Keywords: |
--------------------+-------------------------------------------------------
Comment(by dustin):
I can confirm this. More generally, the first xmpp buddy moved to an
otherwise empty group will be ignored.
Looks like this is because `purple_find_buddies()` and
`purple_find_buddy()` in `libpurple/blist.c` require a group node entry
that already has a child node.
When moving an entry to an empty group, these functions return NULL to
`jabber_roster_group_change()`.
{{{
--- blist.c 2011-06-16 18:03:01.000000000 +0200
+++ blist.c.marked 2011-06-19 17:32:58.000000000 +0200
@@ -2438,12 +2438,12 @@
hb.account = account;
hb.name = (gchar *)purple_normalize(account, name);
for (group = purplebuddylist->root; group; group = group->next) {
0 if (!group->child)
0 continue;
hb.group = group;
if ((buddy = g_hash_table_lookup(purplebuddylist->buddies,
&hb))) {
return buddy;
}
@@ -2490,12 +2490,12 @@
hb.name = (gchar *)purple_normalize(account, name);
hb.account = account;
for (node = purplebuddylist->root; node != NULL; node =
node->next) {
0 if (!node->child)
0 continue;
hb.group = node;
if ((buddy =
g_hash_table_lookup(purplebuddylist->buddies, &hb)) != NULL)
ret = g_slist_prepend(ret, buddy);
}
}}}
For ICQ entries, there is no such problem.
--
Ticket URL: <http://developer.pidgin.im/ticket/14309#comment:1>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list