diff options
author | Paul Aurich <darkrain42@pidgin.im> | 2009-07-18 05:26:23 +0000 |
---|---|---|
committer | Paul Aurich <darkrain42@pidgin.im> | 2009-07-18 05:26:23 +0000 |
commit | 7fa5f311d59af1f59e15961726ee0b0bf1836d59 (patch) | |
tree | b57b7fcb7c6d1f1ed7688c313563de1e2b19a716 /libpurple/plugin.c | |
parent | 31ab9d92b934b285c5a0bbf2714fbf8c338a32d1 (diff) | |
download | pidgin-7fa5f311d59af1f59e15961726ee0b0bf1836d59.tar.gz |
Add PURPLE_LEAKCHECK_HELP environment variable. See ChangeLog.
Diffstat (limited to 'libpurple/plugin.c')
-rw-r--r-- | libpurple/plugin.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libpurple/plugin.c b/libpurple/plugin.c index c9baadfb40..d295cb92a5 100644 --- a/libpurple/plugin.c +++ b/libpurple/plugin.c @@ -870,8 +870,16 @@ purple_plugin_destroy(PurplePlugin *plugin) if (plugin->info != NULL && plugin->info->destroy != NULL) plugin->info->destroy(plugin); - if (plugin->handle != NULL) - g_module_close(plugin->handle); + /* + * I find it extremely useful to do this when using valgrind, as + * it keeps all the plugins open, meaning that valgrind is able to + * resolve symbol names in leak traces from plugins. + */ + if (!g_getenv("PURPLE_LEAKCHECK_HELP")) + { + if (plugin->handle != NULL) + g_module_close(plugin->handle); + } } else { |