protocols/demo/purpledemoprotocolactions.c

changeset 43006
b9cbf5cb2003
parent 43002
1fc2409c8bd2
child 43082
0248f784950d
--- a/protocols/demo/purpledemoprotocolactions.c	Mon Oct 14 22:56:26 2024 -0500
+++ b/protocols/demo/purpledemoprotocolactions.c	Mon Oct 14 22:58:04 2024 -0500
@@ -42,9 +42,8 @@
                                   const char *disconnect_str)
 {
 	PurpleConnection *connection = PURPLE_CONNECTION(data);
-	PurpleConnectionErrorInfo *error_info = NULL;
 	PurpleAccount *account = purple_connection_get_account(connection);
-	char *message = NULL;
+	GError *error = NULL;
 	int timeout = 0;
 
 	timeout = GPOINTER_TO_INT(g_object_steal_data(G_OBJECT(connection),
@@ -64,6 +63,7 @@
 		if(PURPLE_IS_CONTACT(contact)) {
 			PurpleContactInfo *info = PURPLE_CONTACT_INFO(contact);
 			PurplePresence *presence = purple_contact_info_get_presence(info);
+			char *message = NULL;
 			const char *format = ngettext(tick_str, tick_plural_str, timeout);
 
 			message = g_strdup_printf(format, timeout);
@@ -74,12 +74,9 @@
 		return G_SOURCE_CONTINUE;
 	}
 
-	message = g_strdup_printf(_(disconnect_str), REAPER_BUDDY_NAME);
-	error_info = purple_connection_error_info_new(error_code, message);
-	g_free(message);
-
-	purple_account_set_error_info(account, error_info);
-	purple_account_disconnect(account);
+	error = g_error_new(PURPLE_CONNECTION_ERROR, error_code, _(disconnect_str),
+	                    REAPER_BUDDY_NAME);
+	purple_account_disconnect_with_error(account, error);
 
 	return G_SOURCE_REMOVE;
 }

mercurial