Mercurial > rewtguy > pidgin
changeset 40940:f8b982789e1e
Remove purple_plugins_get_handle and the associated signals
Testing Done:
Ran and load a plugin that added stuff to the plugins menu and made sure there were no warnings/errors on exit.
Reviewed at https://reviews.imfreedom.org/r/739/
author | Gary Kramlich <grim@reaperworld.com> |
---|---|
date | Thu, 10 Jun 2021 18:20:35 -0500 |
parents | bf7c5e88e5e7 |
children | 8adffed7a99a |
files | ChangeLog.API libpurple/plugins.c libpurple/plugins.h |
diffstat | 3 files changed, 11 insertions(+), 39 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog.API Thu Jun 10 17:18:56 2021 -0500 +++ b/ChangeLog.API Thu Jun 10 18:20:35 2021 -0500 @@ -425,10 +425,13 @@ * purple_plugin_probe * purple_plugin_register * purple_plugin_reload + * purple_plugins:plugin-load signal + * purple-plugins:plugin-unload signal * purple_plugins_destroy_all * purple_plugins_enabled * purple_plugins_find_with_basename * purple_plugins_find_with_name + * purple_plugins_get_handle * purple_plugins_get_protocols * purple_plugins_get_search_paths * purple_plugins_register_load_notify_cb
--- a/libpurple/plugins.c Thu Jun 10 17:18:56 2021 -0500 +++ b/libpurple/plugins.c Thu Jun 10 18:20:35 2021 -0500 @@ -131,7 +131,6 @@ purple_debug_info("plugins", "Loaded plugin %s\n", filename); - purple_signal_emit(purple_plugins_get_handle(), "plugin-load", plugin); g_free(filename); } @@ -181,8 +180,6 @@ loaded_plugins = g_list_remove(loaded_plugins, plugin); plugins_to_disable = g_list_remove(plugins_to_disable, plugin); - purple_signal_emit(purple_plugins_get_handle(), "plugin-unload", plugin); - purple_prefs_disconnect_by_handle(plugin); } @@ -791,27 +788,12 @@ /************************************************************************** * Plugins Subsystem API **************************************************************************/ -void * -purple_plugins_get_handle(void) -{ - static int handle; - - return &handle; -} - void purple_plugins_init(void) { - void *handle = purple_plugins_get_handle(); + GObject *manager = NULL; const gchar *search_path; - purple_signal_register(handle, "plugin-load", - purple_marshal_VOID__POINTER, - G_TYPE_NONE, 1, PURPLE_TYPE_PLUGIN); - purple_signal_register(handle, "plugin-unload", - purple_marshal_VOID__POINTER, - G_TYPE_NONE, 1, PURPLE_TYPE_PLUGIN); - gplugin_init(GPLUGIN_CORE_FLAGS_NONE); search_path = g_getenv("PURPLE_PLUGIN_PATH"); @@ -835,13 +817,14 @@ purple_debug_info("plugins", "PURPLE_PLUGINS_SKIP environment variable set, skipping normal plugin paths"); } - g_signal_connect(gplugin_manager_get_instance(), "loading-plugin", - G_CALLBACK(plugin_loading_cb), NULL); - g_signal_connect(gplugin_manager_get_instance(), "loaded-plugin", - G_CALLBACK(plugin_loaded_cb), NULL); - g_signal_connect(gplugin_manager_get_instance(), "unloading-plugin", + manager = gplugin_manager_get_instance(); + g_signal_connect(manager, "loading-plugin", G_CALLBACK(plugin_loading_cb), + NULL); + g_signal_connect(manager, "loaded-plugin", G_CALLBACK(plugin_loaded_cb), + NULL); + g_signal_connect(manager, "unloading-plugin", G_CALLBACK(plugin_unloading_cb), NULL); - g_signal_connect(gplugin_manager_get_instance(), "unloaded-plugin", + g_signal_connect(manager, "unloaded-plugin", G_CALLBACK(plugin_unloaded_cb), NULL); purple_plugins_refresh(); @@ -850,14 +833,9 @@ void purple_plugins_uninit(void) { - void *handle = purple_plugins_get_handle(); - purple_debug_info("plugins", "Unloading all plugins\n"); while (loaded_plugins != NULL) purple_plugin_unload(loaded_plugins->data, NULL); - purple_signals_disconnect_by_handle(handle); - purple_signals_unregister_by_instance(handle); - gplugin_uninit(); }
--- a/libpurple/plugins.h Thu Jun 10 17:18:56 2021 -0500 +++ b/libpurple/plugins.h Thu Jun 10 18:20:35 2021 -0500 @@ -604,15 +604,6 @@ /**************************************************************************/ /** - * purple_plugins_get_handle: - * - * Returns the plugin subsystem handle. - * - * Returns: (transfer none): The plugin sybsystem handle. - */ -void *purple_plugins_get_handle(void); - -/** * purple_plugins_init: * * Initializes the plugin subsystem