# HG changeset patch
# Node ID 3105447dd4ee
# Parent  b19be87fd27a
diff --git a/finch/plugins/gntclipboard.c b/finch/plugins/gntclipboard.c
--- a/finch/plugins/gntclipboard.c
+++ b/finch/plugins/gntclipboard.c
@@ -148,7 +148,7 @@
 }
 
 static gboolean
-gnt_clipboard_unload(GPluginPlugin *plugin, GError **error) {
+gnt_clipboard_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) {
 #ifdef HAVE_X11
 	if (child) {
 		kill(child, SIGTERM);
diff --git a/finch/plugins/gntgf.c b/finch/plugins/gntgf.c
--- a/finch/plugins/gntgf.c
+++ b/finch/plugins/gntgf.c
@@ -376,7 +376,7 @@
 }
 
 static gboolean
-gnt_gf_unload(GPluginPlugin *plugin, GError **error) {
+gnt_gf_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) {
 	while (toasters)
 	{
 		GntToast *toast = toasters->data;
diff --git a/finch/plugins/gnthistory.c b/finch/plugins/gnthistory.c
--- a/finch/plugins/gnthistory.c
+++ b/finch/plugins/gnthistory.c
@@ -223,7 +223,7 @@
 }
 
 static gboolean
-gnt_history_unload(GPluginPlugin *plugin, GError **error) {
+gnt_history_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) {
 	return TRUE;
 }
 
diff --git a/finch/plugins/gnttinyurl.c b/finch/plugins/gnttinyurl.c
--- a/finch/plugins/gnttinyurl.c
+++ b/finch/plugins/gnttinyurl.c
@@ -515,7 +515,7 @@
 }
 
 static gboolean
-tiny_url_unload(GPluginPlugin *plugin, GError **error) {
+tiny_url_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) {
 	PurpleNotifyUiOps *ops = purple_notify_get_ui_ops();
 	if (ops->notify_uri == tinyurl_notify_uri)
 		ops->notify_uri = g_object_get_data(G_OBJECT(plugin), "notify-uri");
diff --git a/finch/plugins/grouping.c b/finch/plugins/grouping.c
--- a/finch/plugins/grouping.c
+++ b/finch/plugins/grouping.c
@@ -379,7 +379,7 @@
 }
 
 static gboolean
-grouping_unload(GPluginPlugin *plugin, GError **error) {
+grouping_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) {
 	finch_blist_uninstall_manager(&on_offline);
 	finch_blist_uninstall_manager(&meebo_group);
 	finch_blist_uninstall_manager(&no_group);
diff --git a/finch/plugins/lastlog.c b/finch/plugins/lastlog.c
--- a/finch/plugins/lastlog.c
+++ b/finch/plugins/lastlog.c
@@ -117,7 +117,7 @@
 }
 
 static gboolean
-gnt_last_log_unload(GPluginPlugin *plugin, GError **error) {
+gnt_last_log_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) {
 	purple_cmd_unregister(cmd);
 	return TRUE;
 }
diff --git a/libpurple/plugins/autoaccept.c b/libpurple/plugins/autoaccept.c
--- a/libpurple/plugins/autoaccept.c
+++ b/libpurple/plugins/autoaccept.c
@@ -332,7 +332,7 @@
 }
 
 static gboolean
-auto_accept_unload(GPluginPlugin *plugin, GError **error)
+auto_accept_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	return TRUE;
 }
diff --git a/libpurple/plugins/buddynote.c b/libpurple/plugins/buddynote.c
--- a/libpurple/plugins/buddynote.c
+++ b/libpurple/plugins/buddynote.c
@@ -97,7 +97,7 @@
 }
 
 static gboolean
-buddy_note_unload(GPluginPlugin *plugin, GError **error)
+buddy_note_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	return TRUE;
 }
diff --git a/libpurple/plugins/idle.c b/libpurple/plugins/idle.c
--- a/libpurple/plugins/idle.c
+++ b/libpurple/plugins/idle.c
@@ -301,7 +301,7 @@
 }
 
 static gboolean
-idle_unload(GPluginPlugin *plugin, GError **error)
+idle_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	unidle_all_action(NULL);
 
diff --git a/libpurple/plugins/joinpart.c b/libpurple/plugins/joinpart.c
--- a/libpurple/plugins/joinpart.c
+++ b/libpurple/plugins/joinpart.c
@@ -266,7 +266,7 @@
 }
 
 static gboolean
-join_part_unload(GPluginPlugin *plugin, GError **error)
+join_part_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	/* Destroy the hash table. The core plugin code will
 	 * disconnect the signals, and since Purple is single-threaded,
diff --git a/libpurple/plugins/keyrings/kwallet/purplekwallet.cpp b/libpurple/plugins/keyrings/kwallet/purplekwallet.cpp
--- a/libpurple/plugins/keyrings/kwallet/purplekwallet.cpp
+++ b/libpurple/plugins/keyrings/kwallet/purplekwallet.cpp
@@ -588,7 +588,10 @@
 }
 
 static gboolean
-kwallet_unload(G_GNUC_UNUSED GPluginPlugin *plugin, GError **error) {
+kwallet_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
+               G_GNUC_UNUSED gboolean shutdown,
+               GError **error)
+{
 	PurpleCredentialManager *manager = NULL;
 	gboolean ret = FALSE;
 
diff --git a/libpurple/plugins/keyrings/secretservice.c b/libpurple/plugins/keyrings/secretservice.c
--- a/libpurple/plugins/keyrings/secretservice.c
+++ b/libpurple/plugins/keyrings/secretservice.c
@@ -318,7 +318,10 @@
 }
 
 static gboolean
-secret_service_unload(G_GNUC_UNUSED GPluginPlugin *plugin, GError **error) {
+secret_service_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
+                      G_GNUC_UNUSED gboolean shutdown,
+                      GError **error)
+{
 	PurpleCredentialManager *manager = NULL;
 	gboolean ret = FALSE;
 
diff --git a/libpurple/plugins/keyrings/wincred.c b/libpurple/plugins/keyrings/wincred.c
--- a/libpurple/plugins/keyrings/wincred.c
+++ b/libpurple/plugins/keyrings/wincred.c
@@ -411,7 +411,10 @@
 }
 
 static gboolean
-wincred_unload(G_GNUC_UNUSED GPluginPlugin *plugin, GError **error) {
+wincred_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
+               G_GNUC_UNUSED gboolean shutdown,
+               GError **error)
+{
 	PurpleCredentialManager *manager = NULL;
 	gboolean ret = FALSE;
 
diff --git a/libpurple/plugins/log_reader.c b/libpurple/plugins/log_reader.c
--- a/libpurple/plugins/log_reader.c
+++ b/libpurple/plugins/log_reader.c
@@ -2706,7 +2706,7 @@
 }
 
 static gboolean
-log_reader_unload(GPluginPlugin *plugin, GError **error)
+log_reader_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	g_return_val_if_fail(plugin != NULL, FALSE);
 
diff --git a/libpurple/plugins/notification-sound/notification-sound.c b/libpurple/plugins/notification-sound/notification-sound.c
--- a/libpurple/plugins/notification-sound/notification-sound.c
+++ b/libpurple/plugins/notification-sound/notification-sound.c
@@ -287,7 +287,10 @@
 }
 
 static gboolean
-notification_sound_unload(GPluginPlugin *plugin, G_GNUC_UNUSED GError **error) {
+notification_sound_unload(GPluginPlugin *plugin,
+                          G_GNUC_UNUSED gboolean shutdown,
+                          G_GNUC_UNUSED GError **error)
+{
 	purple_signals_disconnect_by_handle(plugin);
 
 	purple_notification_sound_save_prefs();
diff --git a/libpurple/plugins/psychic.c b/libpurple/plugins/psychic.c
--- a/libpurple/plugins/psychic.c
+++ b/libpurple/plugins/psychic.c
@@ -159,7 +159,7 @@
 
 
 static gboolean
-psychic_unload(GPluginPlugin *plugin, GError **error) {
+psychic_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) {
 
   return TRUE;
 }
diff --git a/libpurple/plugins/purple-toast.c b/libpurple/plugins/purple-toast.c
--- a/libpurple/plugins/purple-toast.c
+++ b/libpurple/plugins/purple-toast.c
@@ -230,6 +230,7 @@
 
 static gboolean
 purple_toast_unload(G_GNUC_UNUSED GPluginPlugin *plugin,
+                    G_GNUC_UNUSED gboolean shutdown,
                     G_GNUC_UNUSED GError **error)
 {
 	return TRUE;
diff --git a/libpurple/plugins/statenotify.c b/libpurple/plugins/statenotify.c
--- a/libpurple/plugins/statenotify.c
+++ b/libpurple/plugins/statenotify.c
@@ -177,7 +177,7 @@
 }
 
 static gboolean
-state_notify_unload(GPluginPlugin *plugin, GError **error)
+state_notify_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	return TRUE;
 }
diff --git a/libpurple/protocols/bonjour/bonjour.c b/libpurple/protocols/bonjour/bonjour.c
--- a/libpurple/protocols/bonjour/bonjour.c
+++ b/libpurple/protocols/bonjour/bonjour.c
@@ -800,7 +800,7 @@
 }
 
 static gboolean
-bonjour_unload(GPluginPlugin *plugin, GError **error)
+bonjour_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/facebook/facebook.c b/libpurple/protocols/facebook/facebook.c
--- a/libpurple/protocols/facebook/facebook.c
+++ b/libpurple/protocols/facebook/facebook.c
@@ -1754,7 +1754,7 @@
 }
 
 static gboolean
-facebook_unload(GPluginPlugin *plugin, GError **error)
+facebook_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/gg/gg.c b/libpurple/protocols/gg/gg.c
--- a/libpurple/protocols/gg/gg.c
+++ b/libpurple/protocols/gg/gg.c
@@ -1280,7 +1280,7 @@
 }
 
 static gboolean
-gg_unload(GPluginPlugin *plugin, GError **error)
+gg_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/irc/irc.c b/libpurple/protocols/irc/irc.c
--- a/libpurple/protocols/irc/irc.c
+++ b/libpurple/protocols/irc/irc.c
@@ -1226,7 +1226,7 @@
 }
 
 static gboolean
-irc_unload(GPluginPlugin *plugin, GError **error)
+irc_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c
--- a/libpurple/protocols/jabber/jabber.c
+++ b/libpurple/protocols/jabber/jabber.c
@@ -4312,7 +4312,7 @@
 }
 
 static gboolean
-jabber_unload(GPluginPlugin *plugin, GError **error)
+jabber_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/novell/novell.c b/libpurple/protocols/novell/novell.c
--- a/libpurple/protocols/novell/novell.c
+++ b/libpurple/protocols/novell/novell.c
@@ -3682,7 +3682,7 @@
 }
 
 static gboolean
-novell_unload(GPluginPlugin *plugin, GError **error)
+novell_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/null/nullprpl.c b/libpurple/protocols/null/nullprpl.c
--- a/libpurple/protocols/null/nullprpl.c
+++ b/libpurple/protocols/null/nullprpl.c
@@ -1339,7 +1339,7 @@
 }
 
 static gboolean
-null_unload(GPluginPlugin *plugin, GError **error)
+null_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
   PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/sametime/sametime.c b/libpurple/protocols/sametime/sametime.c
--- a/libpurple/protocols/sametime/sametime.c
+++ b/libpurple/protocols/sametime/sametime.c
@@ -5458,7 +5458,7 @@
 
 
 static gboolean
-sametime_unload(GPluginPlugin *plugin, GError **error)
+sametime_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
   PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/silc/silc.c b/libpurple/protocols/silc/silc.c
--- a/libpurple/protocols/silc/silc.c
+++ b/libpurple/protocols/silc/silc.c
@@ -2408,7 +2408,7 @@
 }
 
 static gboolean
-silc_unload(GPluginPlugin *plugin, GError **error)
+silc_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/libpurple/protocols/zephyr/zephyr.c b/libpurple/protocols/zephyr/zephyr.c
--- a/libpurple/protocols/zephyr/zephyr.c
+++ b/libpurple/protocols/zephyr/zephyr.c
@@ -1772,7 +1772,7 @@
 
 
 static gboolean
-zephyr_unload(GPluginPlugin *plugin, GError **error)
+zephyr_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleProtocolManager *manager = purple_protocol_manager_get_default();
 
diff --git a/meson.build b/meson.build
--- a/meson.build
+++ b/meson.build
@@ -550,13 +550,13 @@
 # Check for GPlugin
 #######################################################################
 gplugin_dep = dependency('gplugin',
-	version : ['>=0.34.1', '<0.35.0'],
+	version : ['>=0.35.0', '<0.36.0'],
 	fallback : ['gplugin', 'gplugin_dep'])
 
 if get_option('gtkui')
-	gplugin_gtk_dep = dependency('gplugin-gtk',
-		version : ['>=0.34.1', '<0.35.0'],
-		fallback : ['gplugin-gtk', 'gplugin_gtk_dep'])
+	gplugin_gtk_dep = dependency('gplugin-gtk3',
+		version : ['>=0.35.0', '<0.36.0'],
+		fallback : ['gplugin-gtk', 'gplugin_gtk3_dep'])
 endif
 
 #######################################################################
diff --git a/pidgin/meson.build b/pidgin/meson.build
--- a/pidgin/meson.build
+++ b/pidgin/meson.build
@@ -315,7 +315,7 @@
 		introspection_sources = libpidgin_headers + libpidgin_prefs_headers
 
 		Pidgin_gir_includes = [
-			'GObject-2.0', 'Gtk-3.0', 'GPlugin-1.0', 'GPluginGtk-1.0',
+			'GObject-2.0', 'Gtk-3.0', 'GPlugin-1.0', 'GPluginGtk3-1.0',
 			'Talkatu-0.0',
 			# subproject needs to be before libpurple in the repo so that
 			# meson will use our variables and not try to discover them from
diff --git a/pidgin/plugins/disco/xmppdisco.c b/pidgin/plugins/disco/xmppdisco.c
--- a/pidgin/plugins/disco/xmppdisco.c
+++ b/pidgin/plugins/disco/xmppdisco.c
@@ -662,7 +662,7 @@
 }
 
 static gboolean
-xmpp_disco_unload(GPluginPlugin *plugin, GError **error)
+xmpp_disco_unload(GPluginPlugin *plugin, gboolean unload, GError **error)
 {
 	g_hash_table_destroy(iq_callbacks);
 	iq_callbacks = NULL;
diff --git a/pidgin/plugins/gestures/gestures.c b/pidgin/plugins/gestures/gestures.c
--- a/pidgin/plugins/gestures/gestures.c
+++ b/pidgin/plugins/gestures/gestures.c
@@ -280,7 +280,7 @@
 }
 
 static gboolean
-gestures_unload(GPluginPlugin *plugin, GError **error)
+gestures_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	PurpleConversation *conv;
 	PurpleConversationManager *manager;
diff --git a/pidgin/plugins/gtkbuddynote.c b/pidgin/plugins/gtkbuddynote.c
--- a/pidgin/plugins/gtkbuddynote.c
+++ b/pidgin/plugins/gtkbuddynote.c
@@ -78,7 +78,7 @@
 }
 
 static gboolean
-gtk_buddy_note_unload(GPluginPlugin *plugin, GError **error)
+gtk_buddy_note_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	return TRUE;
 }
diff --git a/pidgin/plugins/iconaway.c b/pidgin/plugins/iconaway.c
--- a/pidgin/plugins/iconaway.c
+++ b/pidgin/plugins/iconaway.c
@@ -88,7 +88,7 @@
 }
 
 static gboolean
-icon_away_unload(GPluginPlugin *plugin, GError **error)
+icon_away_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	return TRUE;
 }
diff --git a/pidgin/plugins/relnot.c b/pidgin/plugins/relnot.c
--- a/pidgin/plugins/relnot.c
+++ b/pidgin/plugins/relnot.c
@@ -166,7 +166,7 @@
 }
 
 static gboolean
-relnot_unload(GPluginPlugin *plugin, GError **error)
+relnot_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	soup_session_abort(session);
 	g_clear_object(&session);
diff --git a/pidgin/plugins/xmppconsole/xmppconsole.c b/pidgin/plugins/xmppconsole/xmppconsole.c
--- a/pidgin/plugins/xmppconsole/xmppconsole.c
+++ b/pidgin/plugins/xmppconsole/xmppconsole.c
@@ -769,7 +769,7 @@
 }
 
 static gboolean
-xmpp_console_unload(GPluginPlugin *plugin, GError **error)
+xmpp_console_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error)
 {
 	if (console)
 		gtk_widget_destroy(console->window);
diff --git a/subprojects/gplugin.wrap b/subprojects/gplugin.wrap
--- a/subprojects/gplugin.wrap
+++ b/subprojects/gplugin.wrap
@@ -1,4 +1,4 @@
 [wrap-hg]
 directory = gplugin
 url = https://keep.imfreedom.org/gplugin/gplugin
-revision = v0.34.1
+revision = v0.35.0
