diff src/aim.c @ 2125:af59d854de29

[gaim-migrate @ 2135] bmiller's patch to unload plugins on exit signals committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 06 Aug 2001 18:12:36 +0000
parents 388b2d23442a
children 50c7a704ee56
line wrap: on
line diff
--- a/src/aim.c	Mon Aug 06 17:54:50 2001 +0000
+++ b/src/aim.c	Mon Aug 06 18:12:36 2001 +0000
@@ -87,24 +87,11 @@
 		gtk_widget_hide(mainwindow);
 #else
 #ifdef GAIM_PLUGINS
-	GList *c;
-	struct gaim_plugin *p;
-	void (*gaim_plugin_remove)();
-
 	/* first we tell those who have requested it we're quitting */
 	plugin_event(event_quit, 0, 0, 0, 0);
 
 	/* then we remove everyone in a mass suicide */
-	c = plugins;
-	while (c) {
-		p = (struct gaim_plugin *)c->data;
-		if (g_module_symbol(p->handle, "gaim_plugin_remove", (gpointer *)&gaim_plugin_remove))
-			 (*gaim_plugin_remove)();
-		/* we don't need to worry about removing callbacks since
-		 * there won't be any more chance to call them back :) */
-		g_free(p);
-		c = c->next;
-	}
+	remove_all_plugins();
 #endif /* GAIM_PLUGINS */
 #ifdef USE_PERL
 	perl_end();
@@ -406,8 +393,9 @@
 		abort();
 		break;
 	default:
+		debug_printf("caught signal %d\n", sig);
 		gtkspell_stop();
-		debug_printf("caught signal %d\n", sig);
+		remove_all_plugins();
 		if (gtk_main_level())
 			gtk_main_quit();
 		exit(0);