pidgin/pidgin

f8b982789e1e
Parents bf7c5e88e5e7
Children 8adffed7a99a
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/
--- 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