changeset 920:972a180e9429

[gaim-migrate @ 930] yay committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sat, 16 Sep 2000 00:40:24 +0000
parents 2999319f9eca
children d2e865d64dd8
files NEWS src/buddy.c
diffstat 2 files changed, 34 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Fri Sep 15 22:41:22 2000 +0000
+++ b/NEWS	Sat Sep 16 00:40:24 2000 +0000
@@ -10,6 +10,12 @@
 	in here for you guys just check out the Change Log.  I hope you all
 	enjoy and take care! 
 
+	Eric: Wanna know what the Oscar problem was? You'll laugh. 2 bytes.
+	The fix was changing 0x07da to 0x0686. Anyway, aside from the fix
+	for that, there are a couple other good things. Beware of DSL nazis.
+	They won't give you service until 6 weeks after you order it. So um,
+	yeah.
+
 0.10.0 (09/11/2000):
 	Rob: Well peoples, I know that it's been a while since our
 	last release.  Here we go.  Some brand spankin' new interfaces
--- a/src/buddy.c	Fri Sep 15 22:41:22 2000 +0000
+++ b/src/buddy.c	Sat Sep 16 00:40:24 2000 +0000
@@ -868,7 +868,7 @@
 
 	b->idletime = gtk_label_new("");
 
-	gtk_tree_append(GTK_TREE(g->tree),b->item);
+/*	gtk_tree_append(GTK_TREE(g->tree),b->item);*/
 	gtk_container_add(GTK_CONTAINER(b->item), box);
 
 	gtk_box_pack_start(GTK_BOX(box), b->pix, FALSE, FALSE, 1);
@@ -886,7 +886,6 @@
 	return b;
 }
 
-
 struct group *add_group(char *group)
 {
 	struct group *g = find_group(group);
@@ -1316,8 +1315,12 @@
 			
 	if (!b->present) {
 		int count = 0;
-		gtk_widget_hide(b->item);
 		g = find_group_by_buddy(name);
+		
+		if (g && g->tree && b->item->parent) {
+			gtk_widget_ref(b->item);
+			gtk_tree_remove_item(GTK_TREE(g->tree), b->item);
+		}
 		mem = g->members;
 		while (mem) {
 			b = (struct buddy *)mem->data;
@@ -1485,9 +1488,28 @@
 			}
 
 			
-			{ struct group *g = find_group_by_buddy(b->name);
-			  gtk_widget_show(g->item); }
-			gtk_widget_show(b->item);
+			{
+				struct group *g = find_group_by_buddy(b->name);
+				gtk_widget_show(g->item);
+				if (!b->item->parent) {
+					GList *mem = g->members; int cn = 0;
+					struct buddy *BB;
+					while (mem) {
+						BB = (struct buddy *)mem->data;
+						if (BB == b)
+							break;
+						if (BB->present) cn++;
+						mem = mem->next;
+					}
+					if (cn)
+						gtk_tree_insert(GTK_TREE(g->tree),
+								b->item, cn);
+					else
+						gtk_tree_prepend(GTK_TREE(g->tree),
+								b->item);
+				}
+				gtk_widget_show(b->item);
+			}
 			gtk_widget_show(b->label);
                         b->log_timer = gtk_timeout_add(10000, (GtkFunction) log_timeout, b->name);
         		if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )