diff src/buddy.c @ 1409:17e544f8c7fb

[gaim-migrate @ 1419] no more hanging trees. also libyahoo updates. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 16 Jan 2001 02:02:32 +0000
parents bf041349b11e
children 42955549cdd9
line wrap: on
line diff
--- a/src/buddy.c	Mon Jan 15 23:47:55 2001 +0000
+++ b/src/buddy.c	Tue Jan 16 02:02:32 2001 +0000
@@ -1640,11 +1640,6 @@
 	gtk_container_add(GTK_CONTAINER(g->item), g->label);
 	gtk_widget_show(g->label);
 
-	g->tree = gtk_tree_new();
-	gtk_tree_item_set_subtree(GTK_TREE_ITEM(g->item), g->tree);
-	gtk_tree_item_expand(GTK_TREE_ITEM(g->item));
-	gtk_widget_show(g->tree);
-
 	shows = g_slist_insert(shows, g, pos);
 	update_num_groups(g);
 	return g;
@@ -1658,6 +1653,13 @@
 	int pos = buddy_number(gs->name, buddy->name);
 	b->sound = 0;
 
+	if (gs->members == NULL) {
+		gs->tree = gtk_tree_new();
+		gtk_tree_item_set_subtree(GTK_TREE_ITEM(gs->item), gs->tree);
+		gtk_tree_item_expand(GTK_TREE_ITEM(gs->item));
+		gtk_widget_show(gs->tree);
+	}
+
 	b->name = g_strdup(buddy->name);
 	b->show = g_strdup(buddy->show);
 
@@ -1703,12 +1705,6 @@
 	 * and is a valid tree afterwards. Otherwise, Bad Things will happen. */
 	gtk_tree_remove_item(GTK_TREE(gs->tree), bs->item);
 	bs->item = NULL;
-	if (gs->members == NULL) {
-		gs->tree = gtk_tree_new();
-		gtk_tree_item_set_subtree(GTK_TREE_ITEM(gs->item), gs->tree);
-		gtk_tree_item_expand(GTK_TREE_ITEM(gs->item));
-		gtk_widget_show(gs->tree);
-	}
 }
 
 static struct group_show *find_gs_by_bs(struct buddy_show *b) {