| 868 |
868 |
| 869 static void |
869 static void |
| 870 gaim_gtkdialogs_remove_chat_cb(GaimChat *chat) |
870 gaim_gtkdialogs_remove_chat_cb(GaimChat *chat) |
| 871 { |
871 { |
| 872 char *name = NULL; |
872 char *name = NULL; |
| |
873 GaimAccount *account; |
| 873 GaimConversation *conv = NULL; |
874 GaimConversation *conv = NULL; |
| 874 |
875 |
| 875 if (GAIM_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->get_chat_name != NULL) |
876 account = chat->account; |
| 876 name = GAIM_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->get_chat_name(chat->components); |
877 |
| |
878 if (GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl)->get_chat_name != NULL) |
| |
879 name = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl)->get_chat_name(chat->components); |
| 877 |
880 |
| 878 gaim_blist_remove_chat(chat); |
881 gaim_blist_remove_chat(chat); |
| 879 |
882 |
| 880 if (name != NULL) { |
883 if (name != NULL) { |
| 881 conv = gaim_find_conversation_with_account(name, chat->account); |
884 conv = gaim_find_conversation_with_account(name, account); |
| 882 g_free(name); |
885 g_free(name); |
| 883 } |
886 } |
| 884 |
887 |
| 885 if (conv != NULL) |
888 if (conv != NULL) |
| 886 gaim_conversation_update(conv, GAIM_CONV_UPDATE_REMOVE); |
889 gaim_conversation_update(conv, GAIM_CONV_UPDATE_REMOVE); |