comparison src/server.c @ 8256:1d86096ae0f4

[gaim-migrate @ 8979] Tim Ringenbach says this shouldn't have gotten into 0.76, because 0.76 should have been release two weeks ago. He also doesn't have a good description, so I'll just say it fixed a bunch of idiot mistakes and ugly hacks on my part regarding the removing of users from the chat lists and parting chats/channels. Thanks Tim. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Sat, 14 Feb 2004 21:07:29 +0000
parents 4971193f761d
children 1fa30b3f7e6d
comparison
equal deleted inserted replaced
8255:4de49af535b3 8256:1d86096ae0f4
738 738
739 if (buffy) 739 if (buffy)
740 g_free(buffy); 740 g_free(buffy);
741 } 741 }
742 742
743 /* Ya know, nothing uses this except gaim_conversation_destroy(),
744 * I think I'll just merge it into that later...
745 * Then again, something might want to use this, from outside prpl-land
746 * to leave a chat without destroying the conversation.
747 */
748
743 void serv_chat_leave(GaimConnection *g, int id) 749 void serv_chat_leave(GaimConnection *g, int id)
744 { 750 {
745 GaimPluginProtocolInfo *prpl_info = NULL; 751 GaimPluginProtocolInfo *prpl_info = NULL;
746 752
747 if (!g_list_find(gaim_connections_get_all(), g)) 753 if (!g_list_find(gaim_connections_get_all(), g))
1362 account = gaim_connection_get_account(gc); 1368 account = gaim_connection_get_account(gc);
1363 1369
1364 conv = gaim_conversation_new(GAIM_CONV_CHAT, account, name); 1370 conv = gaim_conversation_new(GAIM_CONV_CHAT, account, name);
1365 chat = GAIM_CONV_CHAT(conv); 1371 chat = GAIM_CONV_CHAT(conv);
1366 1372
1367 gc->buddy_chats = g_slist_append(gc->buddy_chats, conv); 1373 if (!g_slist_find(gc->buddy_chats, conv))
1374 gc->buddy_chats = g_slist_append(gc->buddy_chats, conv);
1368 1375
1369 gaim_conv_chat_set_id(chat, id); 1376 gaim_conv_chat_set_id(chat, id);
1370 1377
1371 gaim_conv_window_show(gaim_conversation_get_window(conv)); 1378 gaim_conv_window_show(gaim_conversation_get_window(conv));
1372 gaim_conv_window_switch_conversation(gaim_conversation_get_window(conv), 1379 gaim_conv_window_switch_conversation(gaim_conversation_get_window(conv),
1405 gaim_debug(GAIM_DEBUG_INFO, "server", "Leaving room: %s\n", 1412 gaim_debug(GAIM_DEBUG_INFO, "server", "Leaving room: %s\n",
1406 gaim_conversation_get_name(conv)); 1413 gaim_conversation_get_name(conv));
1407 1414
1408 g->buddy_chats = g_slist_remove(g->buddy_chats, conv); 1415 g->buddy_chats = g_slist_remove(g->buddy_chats, conv);
1409 1416
1410 gaim_conversation_destroy(conv); 1417 gaim_conv_chat_left(GAIM_CONV_CHAT(conv));
1411 } 1418 }
1412 1419
1413 void serv_got_chat_in(GaimConnection *g, int id, const char *who, 1420 void serv_got_chat_in(GaimConnection *g, int id, const char *who,
1414 int whisper, const char *message, time_t mtime) 1421 int whisper, const char *message, time_t mtime)
1415 { 1422 {