changeset 17675:407b25690442

merge of '899692e88db07d660e3185da95f9e887d6e07ce5' and '954188eca5c0fb8f7c9443e221f5e87abed8602d'
author Stu Tomlinson <stu@nosnilmot.com>
date Sun, 03 Jun 2007 18:27:38 +0000
parents a61c101c26c3 (current diff) 0e4a789cd027 (diff)
children 08eef35b27dd
files
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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)