# HG changeset patch # User Sadrul Habib Chowdhury # Date 1226721205 0 # Node ID 123c78e4866376df8bb7e3fc0849a83f923d1d9b # Parent 892adcbf94c999ae8c3f12f498e96153e81db745 Use normalized chat names when searching for chats. This fixes an issue where irc.undernet.org sends the chat-name in uppercase, and screws up persistent chats. Fixes #5028. diff -r 892adcbf94c9 -r 123c78e48663 libpurple/blist.c --- a/libpurple/blist.c Sat Nov 15 03:17:51 2008 +0000 +++ b/libpurple/blist.c Sat Nov 15 03:53:25 2008 +0000 @@ -2214,6 +2214,7 @@ struct proto_chat_entry *pce; PurpleBlistNode *node, *group; GList *parts; + char *normname; g_return_val_if_fail(purplebuddylist != NULL, NULL); g_return_val_if_fail((name != NULL) && (*name != '\0'), NULL); @@ -2227,6 +2228,7 @@ if (prpl_info->find_blist_chat != NULL) return prpl_info->find_blist_chat(account, name); + normname = g_strdup(purple_normalize(account, name)); for (group = purplebuddylist->root; group != NULL; group = group->next) { for (node = group->child; node != NULL; node = node->next) { if (PURPLE_BLIST_NODE_IS_CHAT(node)) { @@ -2246,14 +2248,15 @@ g_list_free(parts); if (chat->account == account && chat_name != NULL && - name != NULL && !strcmp(chat_name, name)) { - + normname != NULL && !strcmp(purple_normalize(account, chat_name), normname)) { + g_free(normname); return chat; } } } } + g_free(normname); return NULL; }