--- a/pidgin/gtkblist.c Tue Mar 31 23:30:54 2020 -0500
+++ b/pidgin/gtkblist.c Tue Mar 31 23:38:28 2020 -0500
@@ -3543,8 +3543,6 @@
"<menu action='ToolsMenu'>"
"<menuitem action='SetMood'/>"
- "<placeholder name='PluginActions'/>"
@@ -4402,12 +4400,6 @@
-plugin_changed_cb(PurplePlugin *p, gpointer data)
- pidgin_blist_update_plugin_actions();
unseen_conv_menu(GdkEvent *event)
static GtkWidget *menu = NULL;
@@ -5580,7 +5572,8 @@
/******************************* Menu bar *************************************/
actions = pidgin_action_group_new();
- gtk_widget_insert_action_group(gtkblist->window, "blist", actions);
+ gtk_widget_insert_action_group(gtkblist->window, "blist", + G_ACTION_GROUP(actions)); action_group = gtk_action_group_new("BListActions");
gtk_action_group_set_translation_domain(action_group, PACKAGE);
@@ -5788,7 +5781,6 @@
/* Update some dynamic things */
update_menu_bar(gtkblist);
- pidgin_blist_update_plugin_actions();
pidgin_blist_update_sort_methods();
/* OK... let's show this bad boy. */
@@ -5847,12 +5839,6 @@
purple_signal_connect(handle, "signed-off", gtkblist,
PURPLE_CALLBACK(sign_on_off_cb), list);
- handle = purple_plugins_get_handle();
- purple_signal_connect(handle, "plugin-load", gtkblist,
- PURPLE_CALLBACK(plugin_changed_cb), NULL);
- purple_signal_connect(handle, "plugin-unload", gtkblist,
- PURPLE_CALLBACK(plugin_changed_cb), NULL);
handle = purple_conversations_get_handle();
purple_signal_connect(handle, "conversation-updated", gtkblist,
PURPLE_CALLBACK(conversation_updated_cb),
@@ -7673,86 +7659,6 @@
-plugin_act(GSimpleAction *action, GVariant *param, PurplePluginAction *pam)
- if (pam && pam->callback)
-build_plugin_actions(GActionMap *action_map, const gchar *parent,
- PurplePluginActionsCb actions_cb;
- PurplePluginAction *action = NULL;
- purple_plugin_info_get_actions_cb(purple_plugin_get_info(plugin));
- actions = actions_cb(plugin);
- for (l = actions; l != NULL; l = l->next) {
- action = (PurplePluginAction *)l->data;
- /* Close and append section if any */
- g_menu_append_section(menu, NULL,
- G_MENU_MODEL(section));
- g_clear_object(§ion);
- action->plugin = plugin;
- name = g_strdup_printf("plugin.%s-action-%d", parent, count++);
- /* +7 to skip "plugin." prefix */
- menuaction = G_ACTION(g_simple_action_new(name + 7, NULL));
- g_signal_connect_data(G_OBJECT(menuaction), "activate",
- G_CALLBACK(plugin_act), action,
- (GClosureNotify)purple_plugin_action_free, 0);
- g_action_map_add_action(action_map, menuaction);
- g_object_unref(menuaction);
- section = g_menu_new();
- g_menu_append(section, action->label, name);
- /* Close and append final section if any */
- g_menu_append_section(menu, NULL, G_MENU_MODEL(section));
- g_clear_object(§ion);
- ret = gtk_menu_new_from_model(G_MENU_MODEL(menu));
modify_account_cb(GtkWidget *widget, gpointer data)
pidgin_account_dialog_show(PIDGIN_MODIFY_ACCOUNT_DIALOG, data);
@@ -7970,72 +7876,6 @@
gtk_widget_show_all(accountmenu);
-static GSList *plugin_menu_items;
-pidgin_blist_update_plugin_actions(void)
- GSimpleActionGroup *action_group;
- PurplePlugin *plugin = NULL;
- PurplePluginInfo *info;
- if ((gtkblist == NULL) || (gtkblist->ui == NULL))
- /* Clear the old menu */
- g_slist_free_full(plugin_menu_items,
- (GDestroyNotify)gtk_widget_destroy);
- plugin_menu_items = NULL;
- toolsmenu = gtk_ui_manager_get_widget(gtkblist->ui,
- toolsmenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(toolsmenu));
- action_group = g_simple_action_group_new();
- /* Add a submenu for each plugin with custom actions */
- for (l = purple_plugins_get_loaded(); l; l = l->next) {
- plugin = (PurplePlugin *)l->data;
- info = purple_plugin_get_info(plugin);
- if (!purple_plugin_info_get_actions_cb(info))
- name = g_strdup_printf("plugin%d", count);
- submenu = build_plugin_actions(G_ACTION_MAP(action_group),
- menuitem = gtk_menu_item_new_with_mnemonic(
- _(gplugin_plugin_info_get_name(
- GPLUGIN_PLUGIN_INFO(info))));
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
- gtk_widget_show(menuitem);
- plugin_menu_items = g_slist_prepend(plugin_menu_items,
- gtk_menu_shell_append(GTK_MENU_SHELL(toolsmenu), menuitem);
- /* Replaces existing "plugin" group if any */
- gtk_widget_insert_action_group(toolsmenu, "plugin",
- G_ACTION_GROUP(action_group));
- g_object_unref(action_group);
pidgin_blist_update_sort_methods(void)