Mercurial > pidgin.yaz
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) |