libpurple/server.c

branch
soc.2013.gobjectification
changeset 34755
9336815f86b6
parent 34746
dc9c911dbd35
child 34821
0e27ec95be63
equal deleted inserted replaced
34754:3f68e191c0a0 34755:9336815f86b6
823 g_return_val_if_fail(name != NULL, NULL); 823 g_return_val_if_fail(name != NULL, NULL);
824 824
825 chat = purple_chat_conversation_new(account, name); 825 chat = purple_chat_conversation_new(account, name);
826 g_return_val_if_fail(chat != NULL, NULL); 826 g_return_val_if_fail(chat != NULL, NULL);
827 827
828 if (!g_slist_find(gc->buddy_chats, PURPLE_CONVERSATION(chat))) 828 if (!g_slist_find(purple_connection_get_active_chats(gc), chat))
829 gc->buddy_chats = g_slist_append(gc->buddy_chats, PURPLE_CONVERSATION(chat)); 829 _purple_connection_add_active_chat(gc, chat);
830 830
831 purple_chat_conversation_set_id(chat, id); 831 purple_chat_conversation_set_id(chat, id);
832 832
833 purple_signal_emit(purple_conversations_get_handle(), "chat-joined", chat); 833 purple_signal_emit(purple_conversations_get_handle(), "chat-joined", chat);
834 834
838 void serv_got_chat_left(PurpleConnection *g, int id) 838 void serv_got_chat_left(PurpleConnection *g, int id)
839 { 839 {
840 GSList *bcs; 840 GSList *bcs;
841 PurpleChatConversation *chat = NULL; 841 PurpleChatConversation *chat = NULL;
842 842
843 for (bcs = g->buddy_chats; bcs != NULL; bcs = bcs->next) { 843 for (bcs = purple_connection_get_active_chats(g); bcs != NULL; bcs = bcs->next) {
844 chat = PURPLE_CHAT_CONVERSATION(bcs->data); 844 chat = PURPLE_CHAT_CONVERSATION(bcs->data);
845 845
846 if (purple_chat_conversation_get_id(chat) == id) 846 if (purple_chat_conversation_get_id(chat) == id)
847 break; 847 break;
848 } 848 }
849 849
850 purple_debug(PURPLE_DEBUG_INFO, "server", "Leaving room: %s\n", 850 purple_debug(PURPLE_DEBUG_INFO, "server", "Leaving room: %s\n",
851 purple_conversation_get_name(PURPLE_CONVERSATION(chat))); 851 purple_conversation_get_name(PURPLE_CONVERSATION(chat)));
852 852
853 g->buddy_chats = g_slist_remove(g->buddy_chats, chat); 853 _purple_connection_remove_active_chat(g, chat);
854 854
855 purple_chat_conversation_leave(chat); 855 purple_chat_conversation_leave(chat);
856 856
857 purple_signal_emit(purple_conversations_get_handle(), "chat-left", chat); 857 purple_signal_emit(purple_conversations_get_handle(), "chat-left", chat);
858 } 858 }
872 int plugin_return; 872 int plugin_return;
873 873
874 g_return_if_fail(who != NULL); 874 g_return_if_fail(who != NULL);
875 g_return_if_fail(message != NULL); 875 g_return_if_fail(message != NULL);
876 876
877 for (bcs = g->buddy_chats; bcs != NULL; bcs = bcs->next) { 877 for (bcs = purple_connection_get_active_chats(g); bcs != NULL; bcs = bcs->next) {
878 chat = PURPLE_CHAT_CONVERSATION(bcs->data); 878 chat = PURPLE_CHAT_CONVERSATION(bcs->data);
879 879
880 if (purple_chat_conversation_get_id(chat) == id) 880 if (purple_chat_conversation_get_id(chat) == id)
881 break; 881 break;
882 } 882 }

mercurial