changeset 2109:3110ea142888

[gaim-migrate @ 2119] fun stuff. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Thu, 02 Aug 2001 05:42:15 +0000
parents e6d42ea38914
children 704a07ed9481
files src/buddy.c src/conversation.c src/gaim.h src/multi.c
diffstat 4 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/buddy.c	Thu Aug 02 03:04:23 2001 +0000
+++ b/src/buddy.c	Thu Aug 02 05:42:15 2001 +0000
@@ -485,12 +485,12 @@
 	plugin_event(event_signoff, gc, 0, 0, 0);
 	system_log(log_signoff, gc, NULL, OPT_LOG_BUDDY_SIGNON | OPT_LOG_MY_SIGNON);
 	update_keepalive(gc, FALSE);
+	redo_convo_menus(gc);
 	serv_close(gc);
 	redo_buddy_list();
 	build_edit_tree();
 	do_away_menu();
 	do_proto_menu();
-	redo_convo_menus();
 #ifdef USE_APPLET
 	if (connections)
 		set_user_state(online);
--- a/src/conversation.c	Thu Aug 02 03:04:23 2001 +0000
+++ b/src/conversation.c	Thu Aug 02 05:42:15 2001 +0000
@@ -1855,7 +1855,7 @@
 	}
 }
 
-void redo_convo_menus()
+void redo_convo_menus(struct gaim_connection *gc)
 {
 	GList *c = conversations;
 	struct conversation *C;
@@ -1866,9 +1866,15 @@
 
 		create_convo_menu(C);
 
-		if (g_slist_index(connections, C->gc) >= 0)
+		if (!gc)
 			continue;
 
+		if (C->gc != gc)
+			continue;
+
+		if (C->gc && C->gc->prpl && C->gc->prpl->remove_convo)
+			(*C->gc->prpl->remove_convo)(C->gc, C);
+
 		set_convo_gc(C, connections ? connections->data : NULL);
 	}
 }
--- a/src/gaim.h	Thu Aug 02 03:04:23 2001 +0000
+++ b/src/gaim.h	Thu Aug 02 05:42:15 2001 +0000
@@ -714,7 +714,7 @@
 extern void do_normal(GtkWidget *, GtkWidget *);
 extern void do_big(GtkWidget *, GtkWidget *);
 extern void set_font_face(char *, struct conversation *);
-extern void redo_convo_menus();
+extern void redo_convo_menus(struct gaim_connection *);
 extern void toggle_spellchk();
 extern void set_convo_gc(struct conversation *, struct gaim_connection *);
 extern void update_buttons_by_protocol(struct conversation *);
--- a/src/multi.c	Thu Aug 02 03:04:23 2001 +0000
+++ b/src/multi.c	Thu Aug 02 05:42:15 2001 +0000
@@ -813,7 +813,7 @@
 	update_connection_dependent_prefs();
 	do_away_menu();
 	do_proto_menu();
-	redo_convo_menus();
+	redo_convo_menus(NULL);
 	gaim_setup(gc);
 
 	plugin_event(event_signon, gc, 0, 0, 0);