[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