# HG changeset patch # User Stu Tomlinson # Date 1180895258 0 # Node ID 407b25690442da779358b99de2de86f62fa5774c # Parent a61c101c26c3bff0e7a2c830d70327b08b6acf94# Parent 0e4a789cd02797e4d728d82312d08a7debe2cfef merge of '899692e88db07d660e3185da95f9e887d6e07ce5' and '954188eca5c0fb8f7c9443e221f5e87abed8602d' diff -r a61c101c26c3 -r 407b25690442 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Sun Jun 03 05:16:00 2007 +0000 +++ b/pidgin/gtkblist.c Sun Jun 03 18:27:38 2007 +0000 @@ -4737,8 +4737,15 @@ NODE_COLUMN, &new_selection, -1); } - /* we set this up as a timeout, otherwise the blist flickers */ - g_timeout_add(0, (GSourceFunc)do_selection_changed, new_selection); + /* we set this up as a timeout, otherwise the blist flickers ... + * but we don't do it for groups, because it causes total bizarness - + * the previously selected buddy node might rendered at half height. + */ + if ((new_selection != NULL) && PURPLE_BLIST_NODE_IS_GROUP(new_selection)) { + do_selection_changed(new_selection); + } else { + g_timeout_add(0, (GSourceFunc)do_selection_changed, new_selection); + } } static gboolean insert_node(PurpleBuddyList *list, PurpleBlistNode *node, GtkTreeIter *iter)