pidgin/pidgin

Update everything for GPlugin 0.33.0

2021-08-03, Gary Kramlich
dc06703548a1
Parents 90d2dee9b3dc
Children d50484dc243e
Update everything for GPlugin 0.33.0

Testing Done:
Compiled and connected an XMPP account.

Reviewed at https://reviews.imfreedom.org/r/870/
--- a/finch/gntblist.c Tue Aug 03 03:04:06 2021 -0500
+++ b/finch/gntblist.c Tue Aug 03 20:50:03 2021 -0500
@@ -2996,7 +2996,7 @@
purple_signal_connect(purple_blist_get_handle(), "buddy-idle-changed", finch_blist_get_handle(),
PURPLE_CALLBACK(buddy_idle_changed), ggblist);
- plugin_manager = gplugin_manager_get_instance();
+ plugin_manager = gplugin_manager_get_default();
g_signal_connect_object(plugin_manager, "loaded-plugin",
G_CALLBACK(reconstruct_plugins_menu_cb), ggblist, 0);
g_signal_connect_object(plugin_manager, "unloaded-plugin",
--- a/finch/gntconv.c Tue Aug 03 03:04:06 2021 -0500
+++ b/finch/gntconv.c Tue Aug 03 20:50:03 2021 -0500
@@ -902,7 +902,7 @@
purple_signal_connect(purple_cmds_get_handle(), "cmd-removed", ggc,
G_CALLBACK(cmd_removed_cb), ggc);
- plugin_manager = gplugin_manager_get_instance();
+ plugin_manager = gplugin_manager_get_default();
g_signal_connect_object(plugin_manager, "loaded-plugin",
G_CALLBACK(plugin_changed_cb), ggc, 0);
g_signal_connect_object(plugin_manager, "unloaded-plugin",
--- a/libpurple/plugins.c Tue Aug 03 03:04:06 2021 -0500
+++ b/libpurple/plugins.c Tue Aug 03 20:50:03 2021 -0500
@@ -139,6 +139,7 @@
gboolean
purple_plugin_load(PurplePlugin *plugin, GError **error)
{
+ GPluginManager *manager = NULL;
GError *err = NULL;
gchar *filename;
@@ -147,15 +148,16 @@
if (purple_plugin_is_loaded(plugin))
return TRUE;
- if (!gplugin_manager_load_plugin(plugin, &err)) {
- filename = gplugin_plugin_get_filename(plugin);
+ manager = gplugin_manager_get_default();
+
+ if (!gplugin_manager_load_plugin(manager, plugin, &err)) {
+ filename = gplugin_plugin_get_filename(plugin);
purple_debug_error("plugins", "Failed to load plugin %s: %s",
filename,
err ? err->message : "Unknown reason");
- if (error)
- *error = g_error_copy(err);
- g_error_free(err);
+ g_propagate_error(error, err);
+
g_free(filename);
return FALSE;
}
@@ -168,21 +170,23 @@
{
GError *err = NULL;
gchar *filename;
+ GPluginManager *manager = NULL;
g_return_val_if_fail(plugin != NULL, FALSE);
if (!purple_plugin_is_loaded(plugin))
return TRUE;
- if (!gplugin_manager_unload_plugin(plugin, &err)) {
- filename = gplugin_plugin_get_filename(plugin);
+ manager = gplugin_manager_get_default();
+
+ if (!gplugin_manager_unload_plugin(manager, plugin, &err)) {
+ filename = gplugin_plugin_get_filename(plugin);
purple_debug_error("plugins", "Failed to unload plugin %s: %s",
filename,
err ? err->message : "Unknown reason");
- if (error)
- *error = g_error_copy(err);
- g_error_free(err);
+ g_propagate_error(error, err);
+
g_free(filename);
return FALSE;
@@ -297,11 +301,12 @@
{
GList *ret = NULL, *ids, *l;
GSList *plugins, *ll;
+ GPluginManager *manager = gplugin_manager_get_default();
- ids = gplugin_manager_list_plugins();
+ ids = gplugin_manager_list_plugins(manager);
for (l = ids; l; l = l->next) {
- plugins = gplugin_manager_find_plugins(l->data);
+ plugins = gplugin_manager_find_plugins(manager, l->data);
for (ll = plugins; ll; ll = ll->next) {
PurplePlugin *plugin = PURPLE_PLUGIN(ll->data);
@@ -325,15 +330,18 @@
void
purple_plugins_add_search_path(const gchar *path)
{
- gplugin_manager_append_path(path);
+ GPluginManager *manager = gplugin_manager_get_default();
+
+ gplugin_manager_append_path(manager, path);
}
void
purple_plugins_refresh(void)
{
GList *plugins, *l;
+ GPluginManager *manager = gplugin_manager_get_default();
- gplugin_manager_refresh();
+ gplugin_manager_refresh(manager);
plugins = purple_plugins_find_all();
for (l = plugins; l != NULL; l = l->next) {
@@ -365,10 +373,13 @@
purple_plugins_find_plugin(const gchar *id)
{
PurplePlugin *plugin;
+ GPluginManager *manager = NULL;
g_return_val_if_fail(id != NULL && *id != '\0', NULL);
- plugin = gplugin_manager_find_plugin(id);
+ manager = gplugin_manager_get_default();
+
+ plugin = gplugin_manager_find_plugin(manager, id);
if (!plugin)
return NULL;
@@ -479,32 +490,33 @@
gplugin_init(GPLUGIN_CORE_FLAGS_NONE);
+ manager = gplugin_manager_get_default();
+
search_path = g_getenv("PURPLE_PLUGIN_PATH");
if (search_path) {
gchar **paths;
- int i;
+ gint i;
paths = g_strsplit(search_path, G_SEARCHPATH_SEPARATOR_S, 0);
for (i = 0; paths[i]; ++i) {
- purple_plugins_add_search_path(paths[i]);
+ gplugin_manager_append_path(manager, paths[i]);
}
g_strfreev(paths);
}
- gplugin_manager_add_default_paths();
+ gplugin_manager_add_default_paths(manager);
if(!g_getenv("PURPLE_PLUGINS_SKIP")) {
- purple_plugins_add_search_path(PURPLE_LIBDIR);
+ gplugin_manager_append_path(manager, PURPLE_LIBDIR);
} else {
purple_debug_info("plugins", "PURPLE_PLUGINS_SKIP environment variable set, skipping normal plugin paths");
}
- 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, "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(manager, "unloaded-plugin",
--- a/meson.build Tue Aug 03 03:04:06 2021 -0500
+++ b/meson.build Tue Aug 03 20:50:03 2021 -0500
@@ -570,7 +570,7 @@
#######################################################################
# Check for GPlugin
#######################################################################
-gplugin_dep = dependency('gplugin', version : '>=0.32.0,<0.33.0', required : false)
+gplugin_dep = dependency('gplugin', version : '>=0.33.0,<0.34.0', required : false)
if gplugin_dep.found()
gplugin_docpath = gplugin_dep.get_pkgconfig_variable('prefix') / 'share/gtk-doc/html'
--- a/pidgin/gtkconv.c Tue Aug 03 03:04:06 2021 -0500
+++ b/pidgin/gtkconv.c Tue Aug 03 20:50:03 2021 -0500
@@ -5752,9 +5752,9 @@
gtk_box_pack_start(GTK_BOX(testidea), win->notebook, TRUE, TRUE, 0);
/* Update the plugin actions when plugins are (un)loaded */
- manager = gplugin_manager_get_instance();
- g_signal_connect(manager, "loaded-plugin", G_CALLBACK(plugin_changed_cb),
- win);
+ manager = gplugin_manager_get_default();
+ g_signal_connect(manager, "loaded-plugin",
+ G_CALLBACK(plugin_changed_cb), win);
g_signal_connect(manager, "unloaded-plugin",
G_CALLBACK(plugin_changed_cb), win);
--- a/pidgin/pidginabout.c Tue Aug 03 03:04:06 2021 -0500
+++ b/pidgin/pidginabout.c Tue Aug 03 20:50:03 2021 -0500
@@ -425,8 +425,9 @@
static void
pidgin_about_dialog_load_plugin_search_paths(PidginAboutDialog *about) {
GtkTreeIter section;
- GList *path = NULL;
+ GList *paths = NULL;
gchar *markup = NULL;
+ GPluginManager *manager = gplugin_manager_get_default();
/* create the section */
markup = g_strdup_printf("<b>%s</b>", _("Plugin Search Paths"));
@@ -437,13 +438,16 @@
g_free(markup);
/* add the search paths */
- for(path = gplugin_manager_get_paths(); path != NULL; path = path->next) {
+ paths = gplugin_manager_get_paths(manager);
+ while(paths != NULL) {
GtkTreeIter iter;
gtk_tree_store_append(about->build_info_store, &iter, &section);
gtk_tree_store_set(about->build_info_store, &iter,
- 0, (gchar*)path->data,
+ 0, (gchar*)(paths->data),
-1);
+
+ paths = paths->next;
}
}
--- a/pidgin/pidginpluginsmenu.c Tue Aug 03 03:04:06 2021 -0500
+++ b/pidgin/pidginpluginsmenu.c Tue Aug 03 20:50:03 2021 -0500
@@ -255,7 +255,7 @@
(GDestroyNotify)gtk_widget_destroy);
/* Connect to the plugin manager's signals so we can stay up to date. */
- manager = gplugin_manager_get_instance();
+ manager = gplugin_manager_get_default();
g_signal_connect_object(manager, "loaded-plugin",
G_CALLBACK(pidgin_plugins_menu_plugin_loaded_cb),
--- a/subprojects/gplugin.wrap Tue Aug 03 03:04:06 2021 -0500
+++ b/subprojects/gplugin.wrap Tue Aug 03 20:50:03 2021 -0500
@@ -1,4 +1,4 @@
[wrap-hg]
directory = gplugin
url = https://keep.imfreedom.org/gplugin/gplugin
-revision = v0.32.1
+revision = v0.33.0