Mercurial > pidgin.yaz
comparison pidgin/gtkconv.c @ 23189:7e0b815d2133
merge of '45401c961ca97b6dd3675db39ca8d46f5142dada'
and '886c30a3d3006c7497f9e6ce6354ba660e5505bd'
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 25 May 2008 22:06:51 +0000 |
parents | 89713caa9ade |
children | d54bc04bfd31 |
comparison
equal
deleted
inserted
replaced
23182:e0bcb8cfda74 | 23189:7e0b815d2133 |
---|---|
3151 chat = g_object_get_data(G_OBJECT(gtkconv->imhtml), "transient_chat"); | 3151 chat = g_object_get_data(G_OBJECT(gtkconv->imhtml), "transient_chat"); |
3152 } | 3152 } |
3153 | 3153 |
3154 if ((chat == NULL) && (gtkconv->imhtml != NULL)) { | 3154 if ((chat == NULL) && (gtkconv->imhtml != NULL)) { |
3155 GHashTable *components; | 3155 GHashTable *components; |
3156 components = g_hash_table_new_full(g_str_hash, g_str_equal, | 3156 PurpleAccount *account = purple_conversation_get_account(conv); |
3157 g_free, g_free); | 3157 PurplePlugin *prpl = purple_find_prpl(purple_account_get_protocol_id(account)); |
3158 g_hash_table_replace(components, g_strdup("channel"), | 3158 PurplePluginProtocolInfo *prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); |
3159 g_strdup(conv->name)); | 3159 if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, chat_info_defaults)) { |
3160 components = prpl_info->chat_info_defaults(purple_account_get_connection(account), | |
3161 purple_conversation_get_name(conv)); | |
3162 } else { | |
3163 components = g_hash_table_new_full(g_str_hash, g_str_equal, | |
3164 g_free, g_free); | |
3165 g_hash_table_replace(components, g_strdup("channel"), | |
3166 g_strdup(purple_conversation_get_name(conv))); | |
3167 } | |
3160 chat = purple_chat_new(conv->account, NULL, components); | 3168 chat = purple_chat_new(conv->account, NULL, components); |
3161 purple_blist_node_set_flags((PurpleBlistNode *)chat, | 3169 purple_blist_node_set_flags((PurpleBlistNode *)chat, |
3162 PURPLE_BLIST_NODE_FLAG_NO_SAVE); | 3170 PURPLE_BLIST_NODE_FLAG_NO_SAVE); |
3163 g_object_set_data_full(G_OBJECT(gtkconv->imhtml), "transient_chat", | 3171 g_object_set_data_full(G_OBJECT(gtkconv->imhtml), "transient_chat", |
3164 chat, (GDestroyNotify)purple_blist_remove_chat); | 3172 chat, (GDestroyNotify)purple_blist_remove_chat); |