# HG changeset patch # User Richard Laager # Date 1162959416 0 # Node ID ad64947f81c855ebb5cb5d4050edc9990b066992 # Parent 8d0b9a5b1146e283e02ebea2c27be4e2fc78d4b2 [gaim-migrate @ 17702] Casefold the alias before generating the collation key. This should retain the previous behavior (though maybe the corner case of two nicks that differ only by case will be non-deterministic) while still using strcmp() as documented. committer: Tailor Script diff -r 8d0b9a5b1146 -r ad64947f81c8 gtk/gtkconv.c --- a/gtk/gtkconv.c Wed Nov 08 04:15:15 2006 +0000 +++ b/gtk/gtkconv.c Wed Nov 08 04:16:56 2006 +0000 @@ -3401,7 +3401,7 @@ GtkTreeIter iter; gboolean is_me = FALSE; gboolean is_buddy; - gchar *alias_key, *name, *alias; + gchar *tmp, *alias_key, *name, *alias; int flags; alias = cb->alias; @@ -3425,7 +3425,9 @@ is_buddy = (gaim_find_buddy(conv->account, name) != NULL); - alias_key = g_utf8_collate_key(alias, strlen(alias)); + tmp = g_utf8_casefold(alias, -1); + alias_key = g_utf8_collate_key(tmp, -1); + g_free(tmp); if (is_me) { @@ -3802,6 +3804,7 @@ if (!strcmp(normalized_name, gaim_normalize(conv->account, name))) { const char *alias = name; + char *tmp; char *alias_key = NULL; GaimBuddy *buddy2; @@ -3812,7 +3815,9 @@ alias = gaim_buddy_get_contact_alias(buddy2); } - alias_key = g_utf8_collate_key(alias, strlen(alias)); + tmp = g_utf8_casefold(alias, -1); + alias_key = g_utf8_collate_key(tmp, -1); + g_free(tmp); gtk_list_store_set(GTK_LIST_STORE(model), &iter, CHAT_USERS_ALIAS_COLUMN, alias,