# HG changeset patch
# Node ID 0284d1abefd1
# Parent  31e8c7c92e2f
diff --git a/pidgin/gtkidle.c b/pidgin/gtkidle.c
--- a/pidgin/gtkidle.c
+++ b/pidgin/gtkidle.c
@@ -190,11 +190,10 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE_EXTENDED(
+G_DEFINE_FINAL_TYPE_WITH_CODE(
 	PidginIdle,
 	pidgin_idle,
 	G_TYPE_OBJECT,
-	0,
 	G_IMPLEMENT_INTERFACE(
 		PURPLE_TYPE_IDLE_UI,
 		pidgin_idle_purple_ui_init
diff --git a/pidgin/gtkroomlist.c b/pidgin/gtkroomlist.c
--- a/pidgin/gtkroomlist.c
+++ b/pidgin/gtkroomlist.c
@@ -64,7 +64,8 @@
 	guint pg_update_to;
 };
 
-G_DEFINE_TYPE(PidginRoomlistDialog, pidgin_roomlist_dialog, GTK_TYPE_DIALOG)
+G_DEFINE_FINAL_TYPE(PidginRoomlistDialog, pidgin_roomlist_dialog,
+                    GTK_TYPE_DIALOG)
 
 typedef struct {
 	PidginRoomlistDialog *dialog;
diff --git a/pidgin/gtkwhiteboard.c b/pidgin/gtkwhiteboard.c
--- a/pidgin/gtkwhiteboard.c
+++ b/pidgin/gtkwhiteboard.c
@@ -81,7 +81,7 @@
 	gdouble last_y;
 };
 
-G_DEFINE_TYPE(PidginWhiteboard, pidgin_whiteboard, GTK_TYPE_WINDOW)
+G_DEFINE_FINAL_TYPE(PidginWhiteboard, pidgin_whiteboard, GTK_TYPE_WINDOW)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginabout.c b/pidgin/pidginabout.c
--- a/pidgin/pidginabout.c
+++ b/pidgin/pidginabout.c
@@ -638,7 +638,7 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginAboutDialog, pidgin_about_dialog, GTK_TYPE_DIALOG);
+G_DEFINE_FINAL_TYPE(PidginAboutDialog, pidgin_about_dialog, GTK_TYPE_DIALOG)
 
 static void
 pidgin_about_dialog_class_init(PidginAboutDialogClass *klass) {
diff --git a/pidgin/pidginaccountchooser.c b/pidgin/pidginaccountchooser.c
--- a/pidgin/pidginaccountchooser.c
+++ b/pidgin/pidginaccountchooser.c
@@ -57,7 +57,7 @@
 /******************************************************************************
  * GObject implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginAccountChooser, pidgin_account_chooser, ADW_TYPE_BIN)
+G_DEFINE_FINAL_TYPE(PidginAccountChooser, pidgin_account_chooser, ADW_TYPE_BIN)
 
 static void
 pidgin_account_chooser_get_property(GObject *object, guint prop_id,
diff --git a/pidgin/pidginaccountdisplay.c b/pidgin/pidginaccountdisplay.c
--- a/pidgin/pidginaccountdisplay.c
+++ b/pidgin/pidginaccountdisplay.c
@@ -83,7 +83,7 @@
 /******************************************************************************
  * GObject implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginAccountDisplay, pidgin_account_display, GTK_TYPE_BOX)
+G_DEFINE_FINAL_TYPE(PidginAccountDisplay, pidgin_account_display, GTK_TYPE_BOX)
 
 static void
 pidgin_account_display_get_property(GObject *object, guint prop_id,
diff --git a/pidgin/pidginaccounteditor.c b/pidgin/pidginaccounteditor.c
--- a/pidgin/pidginaccounteditor.c
+++ b/pidgin/pidginaccounteditor.c
@@ -1072,8 +1072,8 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginAccountEditor, pidgin_account_editor,
-              ADW_TYPE_PREFERENCES_PAGE)
+G_DEFINE_FINAL_TYPE(PidginAccountEditor, pidgin_account_editor,
+                    ADW_TYPE_PREFERENCES_PAGE)
 
 static void
 pidgin_account_editor_get_property(GObject *obj, guint param_id, GValue *value,
diff --git a/pidgin/pidginaccountfilterconnected.c b/pidgin/pidginaccountfilterconnected.c
--- a/pidgin/pidginaccountfilterconnected.c
+++ b/pidgin/pidginaccountfilterconnected.c
@@ -71,8 +71,8 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginAccountFilterConnected, pidgin_account_filter_connected,
-              GTK_TYPE_FILTER)
+G_DEFINE_FINAL_TYPE(PidginAccountFilterConnected,
+                    pidgin_account_filter_connected, GTK_TYPE_FILTER)
 
 static void
 pidgin_account_filter_connected_init(PidginAccountFilterConnected *filter) {
diff --git a/pidgin/pidginaccountfilterprotocol.c b/pidgin/pidginaccountfilterprotocol.c
--- a/pidgin/pidginaccountfilterprotocol.c
+++ b/pidgin/pidginaccountfilterprotocol.c
@@ -82,8 +82,8 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginAccountFilterProtocol, pidgin_account_filter_protocol,
-              GTK_TYPE_FILTER)
+G_DEFINE_FINAL_TYPE(PidginAccountFilterProtocol,
+                    pidgin_account_filter_protocol, GTK_TYPE_FILTER)
 
 static void
 pidgin_account_filter_protocol_get_property(GObject *obj, guint param_id,
diff --git a/pidgin/pidginaccountmanager.c b/pidgin/pidginaccountmanager.c
--- a/pidgin/pidginaccountmanager.c
+++ b/pidgin/pidginaccountmanager.c
@@ -50,7 +50,8 @@
 	RESPONSE_ADD,
 };
 
-G_DEFINE_TYPE(PidginAccountManager, pidgin_account_manager, GTK_TYPE_DIALOG)
+G_DEFINE_FINAL_TYPE(PidginAccountManager, pidgin_account_manager,
+                    GTK_TYPE_DIALOG)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginaccountmanagerrow.c b/pidgin/pidginaccountmanagerrow.c
--- a/pidgin/pidginaccountmanagerrow.c
+++ b/pidgin/pidginaccountmanagerrow.c
@@ -291,8 +291,8 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginAccountManagerRow, pidgin_account_manager_row,
-              GTK_TYPE_LIST_BOX_ROW)
+G_DEFINE_FINAL_TYPE(PidginAccountManagerRow, pidgin_account_manager_row,
+                    GTK_TYPE_LIST_BOX_ROW)
 
 static void
 pidgin_account_manager_row_get_property(GObject *obj, guint param_id,
diff --git a/pidgin/pidginaccountrow.c b/pidgin/pidginaccountrow.c
--- a/pidgin/pidginaccountrow.c
+++ b/pidgin/pidginaccountrow.c
@@ -40,7 +40,7 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = { NULL, };
 
-G_DEFINE_TYPE(PidginAccountRow, pidgin_account_row, ADW_TYPE_COMBO_ROW)
+G_DEFINE_FINAL_TYPE(PidginAccountRow, pidgin_account_row, ADW_TYPE_COMBO_ROW)
 
 /******************************************************************************
  * Callbacks
diff --git a/pidgin/pidginaccountsdisabledmenu.c b/pidgin/pidginaccountsdisabledmenu.c
--- a/pidgin/pidginaccountsdisabledmenu.c
+++ b/pidgin/pidginaccountsdisabledmenu.c
@@ -30,8 +30,8 @@
 	GList *accounts;
 };
 
-G_DEFINE_TYPE(PidginAccountsDisabledMenu, pidgin_accounts_disabled_menu,
-              G_TYPE_MENU_MODEL)
+G_DEFINE_FINAL_TYPE(PidginAccountsDisabledMenu, pidgin_accounts_disabled_menu,
+                    G_TYPE_MENU_MODEL)
 
 /******************************************************************************
  * Callbacks
diff --git a/pidgin/pidginaccountsenabledmenu.c b/pidgin/pidginaccountsenabledmenu.c
--- a/pidgin/pidginaccountsenabledmenu.c
+++ b/pidgin/pidginaccountsenabledmenu.c
@@ -34,8 +34,8 @@
 	GQueue *accounts;
 };
 
-G_DEFINE_TYPE(PidginAccountsEnabledMenu, pidgin_accounts_enabled_menu,
-              G_TYPE_MENU_MODEL)
+G_DEFINE_FINAL_TYPE(PidginAccountsEnabledMenu, pidgin_accounts_enabled_menu,
+                    G_TYPE_MENU_MODEL)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginapplication.c b/pidgin/pidginapplication.c
--- a/pidgin/pidginapplication.c
+++ b/pidgin/pidginapplication.c
@@ -82,7 +82,8 @@
 	}
 };
 
-G_DEFINE_TYPE(PidginApplication, pidgin_application, ADW_TYPE_APPLICATION)
+G_DEFINE_FINAL_TYPE(PidginApplication, pidgin_application,
+                    ADW_TYPE_APPLICATION)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginautoadjustment.c b/pidgin/pidginautoadjustment.c
--- a/pidgin/pidginautoadjustment.c
+++ b/pidgin/pidginautoadjustment.c
@@ -30,8 +30,8 @@
 	gboolean auto_scroll;
 };
 
-G_DEFINE_TYPE(PidginAutoAdjustment, pidgin_auto_adjustment,
-              GTK_TYPE_ADJUSTMENT)
+G_DEFINE_FINAL_TYPE(PidginAutoAdjustment, pidgin_auto_adjustment,
+                    GTK_TYPE_ADJUSTMENT)
 
 /******************************************************************************
  * Callbacks
diff --git a/pidgin/pidginavatar.c b/pidgin/pidginavatar.c
--- a/pidgin/pidginavatar.c
+++ b/pidgin/pidginavatar.c
@@ -46,7 +46,7 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = {NULL, };
 
-G_DEFINE_TYPE(PidginAvatar, pidgin_avatar, GTK_TYPE_BOX)
+G_DEFINE_FINAL_TYPE(PidginAvatar, pidgin_avatar, GTK_TYPE_BOX)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginchanneljoindialog.c b/pidgin/pidginchanneljoindialog.c
--- a/pidgin/pidginchanneljoindialog.c
+++ b/pidgin/pidginchanneljoindialog.c
@@ -45,8 +45,8 @@
 	PurpleChannelJoinDetails *details;
 };
 
-G_DEFINE_TYPE(PidginChannelJoinDialog, pidgin_channel_join_dialog,
-              GTK_TYPE_WINDOW)
+G_DEFINE_FINAL_TYPE(PidginChannelJoinDialog, pidgin_channel_join_dialog,
+                    GTK_TYPE_WINDOW)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidgincontactlist.c b/pidgin/pidgincontactlist.c
--- a/pidgin/pidgincontactlist.c
+++ b/pidgin/pidgincontactlist.c
@@ -37,7 +37,7 @@
 	GtkWidget *search_entry;
 };
 
-G_DEFINE_TYPE(PidginContactList, pidgin_contact_list, GTK_TYPE_BOX)
+G_DEFINE_FINAL_TYPE(PidginContactList, pidgin_contact_list, GTK_TYPE_BOX)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginconversation.c b/pidgin/pidginconversation.c
--- a/pidgin/pidginconversation.c
+++ b/pidgin/pidginconversation.c
@@ -51,7 +51,7 @@
 	GtkWidget *input;
 };
 
-G_DEFINE_TYPE(PidginConversation, pidgin_conversation, GTK_TYPE_BOX)
+G_DEFINE_FINAL_TYPE(PidginConversation, pidgin_conversation, GTK_TYPE_BOX)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidgindebug.c b/pidgin/pidgindebug.c
--- a/pidgin/pidgindebug.c
+++ b/pidgin/pidgindebug.c
@@ -78,7 +78,7 @@
 static guint pref_callback_id = 0;
 static guint debug_enabled_timer = 0;
 
-G_DEFINE_TYPE(PidginDebugWindow, pidgin_debug_window, GTK_TYPE_WINDOW);
+G_DEFINE_FINAL_TYPE(PidginDebugWindow, pidgin_debug_window, GTK_TYPE_WINDOW)
 
 static gboolean
 save_default_size_cb(GObject *gobject, G_GNUC_UNUSED GParamSpec *pspec,
diff --git a/pidgin/pidgindisplayitem.c b/pidgin/pidgindisplayitem.c
--- a/pidgin/pidgindisplayitem.c
+++ b/pidgin/pidgindisplayitem.c
@@ -52,7 +52,7 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = {NULL,};
 
-G_DEFINE_TYPE(PidginDisplayItem, pidgin_display_item, G_TYPE_OBJECT)
+G_DEFINE_FINAL_TYPE(PidginDisplayItem, pidgin_display_item, G_TYPE_OBJECT)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidgindisplaywindow.c b/pidgin/pidgindisplaywindow.c
--- a/pidgin/pidgindisplaywindow.c
+++ b/pidgin/pidgindisplaywindow.c
@@ -50,8 +50,8 @@
 	GListStore *conversation_model;
 };
 
-G_DEFINE_TYPE(PidginDisplayWindow, pidgin_display_window,
-              GTK_TYPE_APPLICATION_WINDOW)
+G_DEFINE_FINAL_TYPE(PidginDisplayWindow, pidgin_display_window,
+                    GTK_TYPE_APPLICATION_WINDOW)
 
 static GtkWidget *default_window = NULL;
 
diff --git a/pidgin/pidginimwindow.c b/pidgin/pidginimwindow.c
--- a/pidgin/pidginimwindow.c
+++ b/pidgin/pidginimwindow.c
@@ -100,7 +100,7 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginIMWindow, pidgin_im_window, ADW_TYPE_MESSAGE_DIALOG)
+G_DEFINE_FINAL_TYPE(PidginIMWindow, pidgin_im_window, ADW_TYPE_MESSAGE_DIALOG)
 
 static void
 pidgin_im_window_init(PidginIMWindow *window) {
diff --git a/pidgin/pidgininfopane.c b/pidgin/pidgininfopane.c
--- a/pidgin/pidgininfopane.c
+++ b/pidgin/pidgininfopane.c
@@ -40,7 +40,7 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = {NULL, };
 
-G_DEFINE_TYPE(PidginInfoPane, pidgin_info_pane, GTK_TYPE_BOX)
+G_DEFINE_FINAL_TYPE(PidginInfoPane, pidgin_info_pane, GTK_TYPE_BOX)
 
 /******************************************************************************
  * Callbacks
diff --git a/pidgin/pidgininvitedialog.c b/pidgin/pidgininvitedialog.c
--- a/pidgin/pidgininvitedialog.c
+++ b/pidgin/pidgininvitedialog.c
@@ -38,7 +38,7 @@
 
 static GParamSpec *properties[N_PROPERTIES] = {0, };
 
-G_DEFINE_TYPE(PidginInviteDialog, pidgin_invite_dialog, GTK_TYPE_DIALOG);
+G_DEFINE_FINAL_TYPE(PidginInviteDialog, pidgin_invite_dialog, GTK_TYPE_DIALOG)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginkeypad.c b/pidgin/pidginkeypad.c
--- a/pidgin/pidginkeypad.c
+++ b/pidgin/pidginkeypad.c
@@ -84,7 +84,7 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginKeypad, pidgin_keypad, GTK_TYPE_GRID)
+G_DEFINE_FINAL_TYPE(PidginKeypad, pidgin_keypad, GTK_TYPE_GRID)
 
 static void
 pidgin_keypad_init(PidginKeypad *keypad) {
diff --git a/pidgin/pidginnotificationaddcontact.c b/pidgin/pidginnotificationaddcontact.c
--- a/pidgin/pidginnotificationaddcontact.c
+++ b/pidgin/pidginnotificationaddcontact.c
@@ -45,8 +45,8 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = { NULL, };
 
-G_DEFINE_TYPE(PidginNotificationAddContact, pidgin_notification_add_contact,
-              ADW_TYPE_ACTION_ROW)
+G_DEFINE_FINAL_TYPE(PidginNotificationAddContact,
+                    pidgin_notification_add_contact, ADW_TYPE_ACTION_ROW)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginnotificationauthorizationrequest.c b/pidgin/pidginnotificationauthorizationrequest.c
--- a/pidgin/pidginnotificationauthorizationrequest.c
+++ b/pidgin/pidginnotificationauthorizationrequest.c
@@ -46,8 +46,9 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = { NULL, };
 
-G_DEFINE_TYPE(PidginNotificationAuthorizationRequest,
-              pidgin_notification_authorization_request, ADW_TYPE_ACTION_ROW)
+G_DEFINE_FINAL_TYPE(PidginNotificationAuthorizationRequest,
+                    pidgin_notification_authorization_request,
+                    ADW_TYPE_ACTION_ROW)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginnotificationconnectionerror.c b/pidgin/pidginnotificationconnectionerror.c
--- a/pidgin/pidginnotificationconnectionerror.c
+++ b/pidgin/pidginnotificationconnectionerror.c
@@ -44,8 +44,8 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = { NULL, };
 
-G_DEFINE_TYPE(PidginNotificationConnectionError,
-              pidgin_notification_connection_error, ADW_TYPE_ACTION_ROW)
+G_DEFINE_FINAL_TYPE(PidginNotificationConnectionError,
+                    pidgin_notification_connection_error, ADW_TYPE_ACTION_ROW)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginnotificationlist.c b/pidgin/pidginnotificationlist.c
--- a/pidgin/pidginnotificationlist.c
+++ b/pidgin/pidginnotificationlist.c
@@ -36,7 +36,8 @@
 	GtkWidget *list_box;
 };
 
-G_DEFINE_TYPE(PidginNotificationList, pidgin_notification_list, GTK_TYPE_BOX)
+G_DEFINE_FINAL_TYPE(PidginNotificationList, pidgin_notification_list,
+                    GTK_TYPE_BOX)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginpluginsdialog.c b/pidgin/pidginpluginsdialog.c
--- a/pidgin/pidginpluginsdialog.c
+++ b/pidgin/pidginpluginsdialog.c
@@ -57,7 +57,8 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginPluginsDialog, pidgin_plugins_dialog, GTK_TYPE_DIALOG);
+G_DEFINE_FINAL_TYPE(PidginPluginsDialog, pidgin_plugins_dialog,
+                    GTK_TYPE_DIALOG)
 
 static void
 pidgin_plugins_dialog_class_init(PidginPluginsDialogClass *klass) {
diff --git a/pidgin/pidginpluginsmenu.c b/pidgin/pidginpluginsmenu.c
--- a/pidgin/pidginpluginsmenu.c
+++ b/pidgin/pidginpluginsmenu.c
@@ -34,7 +34,7 @@
 	GQueue *plugins;
 };
 
-G_DEFINE_TYPE(PidginPluginsMenu, pidgin_plugins_menu, G_TYPE_MENU_MODEL)
+G_DEFINE_FINAL_TYPE(PidginPluginsMenu, pidgin_plugins_menu, G_TYPE_MENU_MODEL)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/pidginpresenceicon.c b/pidgin/pidginpresenceicon.c
--- a/pidgin/pidginpresenceicon.c
+++ b/pidgin/pidginpresenceicon.c
@@ -42,7 +42,7 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = { NULL, };
 
-G_DEFINE_TYPE(PidginPresenceIcon, pidgin_presence_icon, GTK_TYPE_BOX)
+G_DEFINE_FINAL_TYPE(PidginPresenceIcon, pidgin_presence_icon, GTK_TYPE_BOX)
 
 /******************************************************************************
  * Implementation
diff --git a/pidgin/pidginprotocolchooser.c b/pidgin/pidginprotocolchooser.c
--- a/pidgin/pidginprotocolchooser.c
+++ b/pidgin/pidginprotocolchooser.c
@@ -55,8 +55,8 @@
 /******************************************************************************
  * GObject Implementation
  *****************************************************************************/
-G_DEFINE_TYPE(PidginProtocolChooser, pidgin_protocol_chooser,
-              ADW_TYPE_COMBO_ROW)
+G_DEFINE_FINAL_TYPE(PidginProtocolChooser, pidgin_protocol_chooser,
+                    ADW_TYPE_COMBO_ROW)
 
 static void
 pidgin_protocol_chooser_get_property(GObject *obj, guint prop_id,
diff --git a/pidgin/pidginui.c b/pidgin/pidginui.c
--- a/pidgin/pidginui.c
+++ b/pidgin/pidginui.c
@@ -45,7 +45,7 @@
 	PurpleUi parent;
 };
 
-G_DEFINE_TYPE(PidginUi, pidgin_ui, PURPLE_TYPE_UI)
+G_DEFINE_FINAL_TYPE(PidginUi, pidgin_ui, PURPLE_TYPE_UI)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/prefs/pidginawayprefs.c b/pidgin/prefs/pidginawayprefs.c
--- a/pidgin/prefs/pidginawayprefs.c
+++ b/pidgin/prefs/pidginawayprefs.c
@@ -42,7 +42,8 @@
 	GtkWidget *startup_row;
 };
 
-G_DEFINE_TYPE(PidginAwayPrefs, pidgin_away_prefs, ADW_TYPE_PREFERENCES_PAGE)
+G_DEFINE_FINAL_TYPE(PidginAwayPrefs, pidgin_away_prefs,
+                    ADW_TYPE_PREFERENCES_PAGE)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/prefs/pidginconversationprefs.c b/pidgin/prefs/pidginconversationprefs.c
--- a/pidgin/prefs/pidginconversationprefs.c
+++ b/pidgin/prefs/pidginconversationprefs.c
@@ -44,8 +44,8 @@
 	GtkWidget *minimum_entry_lines;
 };
 
-G_DEFINE_TYPE(PidginConversationPrefs, pidgin_conversation_prefs,
-              ADW_TYPE_PREFERENCES_PAGE)
+G_DEFINE_FINAL_TYPE(PidginConversationPrefs, pidgin_conversation_prefs,
+                    ADW_TYPE_PREFERENCES_PAGE)
 
 /******************************************************************************
  * GObject Implementation
diff --git a/pidgin/prefs/pidgincredentialprefs.c b/pidgin/prefs/pidgincredentialprefs.c
--- a/pidgin/prefs/pidgincredentialprefs.c
+++ b/pidgin/prefs/pidgincredentialprefs.c
@@ -34,8 +34,8 @@
 	GtkWidget *credential_list;
 };
 
-G_DEFINE_TYPE(PidginCredentialPrefs, pidgin_credential_prefs,
-              ADW_TYPE_PREFERENCES_PAGE)
+G_DEFINE_FINAL_TYPE(PidginCredentialPrefs, pidgin_credential_prefs,
+                    ADW_TYPE_PREFERENCES_PAGE)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/prefs/pidgincredentialproviderrow.c b/pidgin/prefs/pidgincredentialproviderrow.c
--- a/pidgin/prefs/pidgincredentialproviderrow.c
+++ b/pidgin/prefs/pidgincredentialproviderrow.c
@@ -43,8 +43,8 @@
 };
 static GParamSpec *properties[N_PROPERTIES] = {NULL, };
 
-G_DEFINE_TYPE(PidginCredentialProviderRow, pidgin_credential_provider_row,
-              ADW_TYPE_ACTION_ROW)
+G_DEFINE_FINAL_TYPE(PidginCredentialProviderRow,
+                    pidgin_credential_provider_row, ADW_TYPE_ACTION_ROW)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/prefs/pidginnetworkprefs.c b/pidgin/prefs/pidginnetworkprefs.c
--- a/pidgin/prefs/pidginnetworkprefs.c
+++ b/pidgin/prefs/pidginnetworkprefs.c
@@ -42,8 +42,8 @@
 	GtkWidget *ports_range_end;
 };
 
-G_DEFINE_TYPE(PidginNetworkPrefs, pidgin_network_prefs,
-              ADW_TYPE_PREFERENCES_PAGE)
+G_DEFINE_FINAL_TYPE(PidginNetworkPrefs, pidgin_network_prefs,
+                    ADW_TYPE_PREFERENCES_PAGE)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/prefs/pidginprefs.c b/pidgin/prefs/pidginprefs.c
--- a/pidgin/prefs/pidginprefs.c
+++ b/pidgin/prefs/pidginprefs.c
@@ -40,7 +40,7 @@
 	GtkDialog parent;
 };
 
-G_DEFINE_TYPE(PidginPrefsWindow, pidgin_prefs_window, GTK_TYPE_DIALOG);
+G_DEFINE_FINAL_TYPE(PidginPrefsWindow, pidgin_prefs_window, GTK_TYPE_DIALOG)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/prefs/pidginproxyprefs.c b/pidgin/prefs/pidginproxyprefs.c
--- a/pidgin/prefs/pidginproxyprefs.c
+++ b/pidgin/prefs/pidginproxyprefs.c
@@ -48,7 +48,8 @@
 	GtkWidget *password;
 };
 
-G_DEFINE_TYPE(PidginProxyPrefs, pidgin_proxy_prefs, ADW_TYPE_PREFERENCES_PAGE)
+G_DEFINE_FINAL_TYPE(PidginProxyPrefs, pidgin_proxy_prefs,
+                    ADW_TYPE_PREFERENCES_PAGE)
 
 /******************************************************************************
  * Helpers
diff --git a/pidgin/prefs/pidginvvprefs.c b/pidgin/prefs/pidginvvprefs.c
--- a/pidgin/prefs/pidginvvprefs.c
+++ b/pidgin/prefs/pidginvvprefs.c
@@ -58,7 +58,7 @@
 	} video;
 };
 
-G_DEFINE_TYPE(PidginVVPrefs, pidgin_vv_prefs, ADW_TYPE_PREFERENCES_PAGE)
+G_DEFINE_FINAL_TYPE(PidginVVPrefs, pidgin_vv_prefs, ADW_TYPE_PREFERENCES_PAGE)
 
 /* Keep in sync with voice.level's GtkLevelBar::max-value in the
  * pidgin/resources/Prefs.vv.ui builder file. */
