--- a/libpurple/purpleaccount.c Mon Mar 04 22:26:00 2024 -0600
+++ b/libpurple/purpleaccount.c Tue Mar 05 02:04:55 2024 -0600
@@ -719,7 +719,7 @@
/* If we didn't get an id, checksum the protocol id and the username. */
id = purple_contact_info_get_id(PURPLE_CONTACT_INFO(object));
+ if(purple_strempty(id)) { PurpleContactInfo *info = PURPLE_CONTACT_INFO(account);
GChecksum *checksum = NULL;
const char *username = NULL;
--- a/libpurple/purplecontactinfo.c Mon Mar 04 22:26:00 2024 -0600
+++ b/libpurple/purplecontactinfo.c Tue Mar 05 02:04:55 2024 -0600
@@ -336,7 +336,7 @@
info = PURPLE_CONTACT_INFO(obj);
priv = purple_contact_info_get_instance_private(info);
+ if(purple_strempty(priv->id)) { purple_contact_info_set_id(info, NULL);
@@ -378,7 +378,7 @@
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); * PurpleContactInfo:username: