comparison libpurple/blist.c @ 16781:8a5fe6db7750

We don't really need an active connection to get the name of a chat.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 02 May 2007 03:51:51 +0000
parents 52342adf4303
children c4460fa22886
comparison
equal deleted inserted replaced
16780:588968d4b2c1 16781:8a5fe6db7750
2035 const char *purple_chat_get_name(PurpleChat *chat) 2035 const char *purple_chat_get_name(PurpleChat *chat)
2036 { 2036 {
2037 struct proto_chat_entry *pce; 2037 struct proto_chat_entry *pce;
2038 GList *parts; 2038 GList *parts;
2039 char *ret; 2039 char *ret;
2040 PurplePlugin *prpl;
2041 PurplePluginProtocolInfo *prpl_info = NULL;
2040 2042
2041 g_return_val_if_fail(chat != NULL, NULL); 2043 g_return_val_if_fail(chat != NULL, NULL);
2042 2044
2043 if ((chat->alias != NULL) && (*chat->alias != '\0')) 2045 if ((chat->alias != NULL) && (*chat->alias != '\0'))
2044 return chat->alias; 2046 return chat->alias;
2045 if (chat->account->gc == NULL) 2047
2046 return NULL; 2048 prpl = purple_find_prpl(purple_account_get_protocol_id(chat->account));
2047 2049 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
2048 parts = PURPLE_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->chat_info(chat->account->gc); 2050
2051 parts = prpl_info->chat_info(chat->account->gc);
2049 pce = parts->data; 2052 pce = parts->data;
2050 ret = g_hash_table_lookup(chat->components, pce->identifier); 2053 ret = g_hash_table_lookup(chat->components, pce->identifier);
2051 g_list_foreach(parts, (GFunc)g_free, NULL); 2054 g_list_foreach(parts, (GFunc)g_free, NULL);
2052 g_list_free(parts); 2055 g_list_free(parts);
2053 2056