# HG changeset patch # User Christian Hammond # Date 1052689649 0 # Node ID 2a1c92df702495f8a7dda530e0550636275baf20 # Parent 1333675218a4b8e5e7a50cc9047eb357fa7e1e41 [gaim-migrate @ 5733] This should make event broadcasting on loader plugins (like perl) work again. committer: Tailor Script diff -r 1333675218a4 -r 2a1c92df7024 src/plugin.c --- 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;