comparison libpurple/blist.c @ 22922:abb17e7e2e98

For chats created using the "normal" (i.e. Join a Chat) flow, there will always be prpl_info->chat_info, but for stuff like the MSN conferences, there will not necessarily be. Eion Robb noticed this issue. Fixes #5777. -------------------------------------------------------------------------------
author Daniel Atallah <daniel.atallah@gmail.com>
date Tue, 13 May 2008 02:34:52 +0000
parents 04dc38d726fb
children 493239b86bf6 f26f6a854770
comparison
equal deleted inserted replaced
22919:277966d1987e 22922:abb17e7e2e98
2071 return buddy->name; 2071 return buddy->name;
2072 } 2072 }
2073 2073
2074 const char *purple_chat_get_name(PurpleChat *chat) 2074 const char *purple_chat_get_name(PurpleChat *chat)
2075 { 2075 {
2076 struct proto_chat_entry *pce; 2076 char *ret = NULL;
2077 GList *parts;
2078 char *ret;
2079 PurplePlugin *prpl; 2077 PurplePlugin *prpl;
2080 PurplePluginProtocolInfo *prpl_info = NULL; 2078 PurplePluginProtocolInfo *prpl_info = NULL;
2081 2079
2082 g_return_val_if_fail(chat != NULL, NULL); 2080 g_return_val_if_fail(chat != NULL, NULL);
2083 2081
2085 return chat->alias; 2083 return chat->alias;
2086 2084
2087 prpl = purple_find_prpl(purple_account_get_protocol_id(chat->account)); 2085 prpl = purple_find_prpl(purple_account_get_protocol_id(chat->account));
2088 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); 2086 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
2089 2087
2090 parts = prpl_info->chat_info(purple_account_get_connection(chat->account)); 2088 if (prpl_info->chat_info) {
2091 pce = parts->data; 2089 struct proto_chat_entry *pce;
2092 ret = g_hash_table_lookup(chat->components, pce->identifier); 2090 GList *parts = prpl_info->chat_info(purple_account_get_connection(chat->account));
2093 g_list_foreach(parts, (GFunc)g_free, NULL); 2091 pce = parts->data;
2094 g_list_free(parts); 2092 ret = g_hash_table_lookup(chat->components, pce->identifier);
2093 g_list_foreach(parts, (GFunc)g_free, NULL);
2094 g_list_free(parts);
2095 }
2095 2096
2096 return ret; 2097 return ret;
2097 } 2098 }
2098 2099
2099 PurpleBuddy *purple_find_buddy(PurpleAccount *account, const char *name) 2100 PurpleBuddy *purple_find_buddy(PurpleAccount *account, const char *name)