# HG changeset patch # User Christian Hammond # Date 1051475976 0 # Node ID fd81a00480ace222e40947e95ac797fcc4f104c2 # Parent a3bb756635bea9538ca6f0cff14570f62083458b [gaim-migrate @ 5613] Plugins are now destroyed when gaim quits. Less memory leaks will be shown as a result of this. committer: Tailor Script diff -r a3bb756635be -r fd81a00480ac src/main.c --- a/src/main.c Sun Apr 27 17:33:10 2003 +0000 +++ b/src/main.c Sun Apr 27 20:39:36 2003 +0000 @@ -121,7 +121,7 @@ save_prefs(); gaim_debug(GAIM_DEBUG_INFO, "main", "Unloading all plugins\n"); - gaim_plugins_unload_all(); + gaim_plugins_destroy_all(); /* XXX */ #if 0 diff -r a3bb756635be -r fd81a00480ac src/plugin.c --- a/src/plugin.c Sun Apr 27 17:33:10 2003 +0000 +++ b/src/plugin.c Sun Apr 27 20:39:36 2003 +0000 @@ -493,6 +493,18 @@ } void +gaim_plugins_destroy_all(void) +{ +#ifdef GAIM_PLUGINS + + gaim_plugins_unload_all(); + + while (plugins != NULL) + gaim_plugin_destroy(plugins->data); + +#endif /* GAIM_PLUGINS */ +} +void gaim_plugins_probe(const char *ext) { #ifdef GAIM_PLUGINS diff -r a3bb756635be -r fd81a00480ac src/plugin.h --- a/src/plugin.h Sun Apr 27 17:33:10 2003 +0000 +++ b/src/plugin.h Sun Apr 27 20:39:36 2003 +0000 @@ -239,10 +239,16 @@ void gaim_plugins_set_search_paths(size_t count, char **paths); /** - * Unloads all registered plugins. + * Unloads all loaded plugins. */ void gaim_plugins_unload_all(void); + +/** + * Destroys all registered plugins. + */ +void gaim_plugins_destroy_all(void); + /** * Probes for plugins in the registered module paths. *