Mercurial > pidgin.yaz
changeset 5357:2a1c92df7024
[gaim-migrate @ 5733]
This should make event broadcasting on loader plugins (like perl) work
again.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sun, 11 May 2003 21:47:29 +0000 |
parents | 1333675218a4 |
children | 91db34a45cbe |
files | src/plugin.c |
diffstat | 1 files changed, 22 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugin.c Sun May 11 18:32:01 2003 +0000 +++ b/src/plugin.c Sun May 11 21:47:29 2003 +0000 @@ -253,8 +253,20 @@ return TRUE; if (plugin->native_plugin) { - if (plugin->info != NULL && plugin->info->load != NULL) - plugin->info->load(plugin); + if (plugin->info != NULL) { + if (plugin->info->load != NULL) + plugin->info->load(plugin); + + if (plugin->info->type == GAIM_PLUGIN_LOADER) { + GaimPluginLoaderInfo *loader_info; + + loader_info = GAIM_PLUGIN_LOADER_INFO(plugin); + + if (loader_info->broadcast != NULL) + gaim_signals_register_broadcast_func(loader_info->broadcast, + NULL); + } + } } else { GaimPlugin *loader; @@ -336,6 +348,14 @@ g_list_free(prpl_info->user_opts); } + else if (plugin->info->type == GAIM_PLUGIN_LOADER) { + GaimPluginLoaderInfo *loader_info; + + loader_info = GAIM_PLUGIN_LOADER_INFO(plugin); + + if (loader_info->broadcast != NULL) + gaim_signals_unregister_broadcast_func(loader_info->broadcast); + } } else { GaimPlugin *loader;