diff libpurple/blist.c @ 27688:b419196556c7

corner case: the first group wasn't being put into the hash table.
author Paul Aurich <paul@darkrain42.org>
date Sat, 18 Jul 2009 18:32:47 +0000
parents c868575ded5d
children 429fce11f244
line wrap: on
line diff
--- a/libpurple/blist.c	Sat Jul 18 16:17:32 2009 +0000
+++ b/libpurple/blist.c	Sat Jul 18 18:32:47 2009 +0000
@@ -1971,6 +1971,9 @@
 
 	if (!purplebuddylist->root) {
 		purplebuddylist->root = gnode;
+
+		key = g_utf8_collate_key(group->name, -1);
+		g_hash_table_insert(groups_cache, key, group);
 		return;
 	}
 
@@ -1990,6 +1993,9 @@
 			gnode->prev->next = gnode->next;
 		if (gnode->next)
 			gnode->next->prev = gnode->prev;
+	} else {
+		key = g_utf8_collate_key(group->name, -1);
+		g_hash_table_insert(groups_cache, key, group);
 	}
 
 	if (node && PURPLE_BLIST_NODE_IS_GROUP(node)) {
@@ -2006,9 +2012,6 @@
 		purplebuddylist->root = gnode;
 	}
 
-	key = g_utf8_collate_key(group->name, -1);
-	g_hash_table_insert(groups_cache, key, group);
-
 	purple_blist_schedule_save();
 
 	if (ops && ops->update) {