# HG changeset patch # User aman@tmm1.net # Date 1248732140 0 # Node ID 12ab4c1112e5a428561ee62ff56de673330eb1ab # Parent 14ce47859540f1451c296b1b8c23c03260abc041 Optimize blist searching with lots and lots of empty groups committer: Paul Aurich diff -r 14ce47859540 -r 12ab4c1112e5 libpurple/blist.c --- a/libpurple/blist.c Mon Jul 27 05:20:52 2009 +0000 +++ b/libpurple/blist.c Mon Jul 27 22:02:20 2009 +0000 @@ -2432,6 +2432,9 @@ hb.name = (gchar *)purple_normalize(account, name); for (group = purplebuddylist->root; group; group = group->next) { + if (!group->child) + continue; + hb.group = group; if ((buddy = g_hash_table_lookup(purplebuddylist->buddies, &hb))) { return buddy; @@ -2481,6 +2484,9 @@ hb.account = account; for (node = purplebuddylist->root; node != NULL; node = node->next) { + if (!node->child) + continue; + hb.group = node; if ((buddy = g_hash_table_lookup(purplebuddylist->buddies, &hb)) != NULL) ret = g_slist_prepend(ret, buddy);