Mercurial > pidgin.yaz
comparison src/protocols/yahoo/yahoochat.c @ 8357:1f56ea865926
[gaim-migrate @ 9081]
" This fixes some bugs in joining a yahoo chat after
you've already joined a yahoo chat. these bugs were
introduced by me of course. Well, they're half my
changes I made in CVS, and half the odd way I coded
yahoo chat support to begin with. So yeah, all my fault...
This also adds a pos++ like nosnilmot was saying." --Tim (marv) Ringenbach
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sat, 28 Feb 2004 05:48:01 +0000 |
parents | d60272410bd5 |
children | 3c07b7d0084c |
comparison
equal
deleted
inserted
replaced
8356:8f2667524c06 | 8357:1f56ea865926 |
---|---|
405 yahoo_chat_leave(gc, room, | 405 yahoo_chat_leave(gc, room, |
406 gaim_connection_get_display_name(gc), FALSE); | 406 gaim_connection_get_display_name(gc), FALSE); |
407 | 407 |
408 c = gaim_find_chat(gc, YAHOO_CHAT_ID); | 408 c = gaim_find_chat(gc, YAHOO_CHAT_ID); |
409 | 409 |
410 if (!c && members && ((g_list_length(members) > 1) || | 410 if ((!c || gaim_conv_chat_has_left(GAIM_CONV_CHAT(c))) && members && |
411 !g_ascii_strcasecmp(members->data, | 411 ((g_list_length(members) > 1) || |
412 gaim_connection_get_display_name(gc)))) { | 412 !g_ascii_strcasecmp(members->data, gaim_connection_get_display_name(gc)))) { |
413 c = serv_got_joined_chat(gc, YAHOO_CHAT_ID, room); | 413 if (c && gaim_conv_chat_has_left(GAIM_CONV_CHAT(c))) { |
414 if (topic) | 414 /* this might be a hack, but oh well, it should nicely */ |
415 gaim_conv_chat_set_topic(GAIM_CONV_CHAT(c), NULL, topic); | 415 char *tmpmsg; |
416 yd->in_chat = 1; | 416 |
417 yd->chat_name = g_strdup(room); | 417 gaim_conversation_set_name(c, room); |
418 gaim_conv_chat_add_users(GAIM_CONV_CHAT(c), members); | 418 |
419 c = serv_got_joined_chat(gc, YAHOO_CHAT_ID, room); | |
420 if (topic) | |
421 gaim_conv_chat_set_topic(GAIM_CONV_CHAT(c), NULL, topic); | |
422 yd->in_chat = 1; | |
423 yd->chat_name = g_strdup(room); | |
424 gaim_conv_chat_add_users(GAIM_CONV_CHAT(c), members); | |
425 | |
426 tmpmsg = g_strdup_printf(_("You are now chatting in %s."), room); | |
427 gaim_conv_chat_write(GAIM_CONV_CHAT(c), "", tmpmsg, GAIM_MESSAGE_SYSTEM, time(NULL)); | |
428 g_free(tmpmsg); | |
429 } else { | |
430 c = serv_got_joined_chat(gc, YAHOO_CHAT_ID, room); | |
431 if (topic) | |
432 gaim_conv_chat_set_topic(GAIM_CONV_CHAT(c), NULL, topic); | |
433 yd->in_chat = 1; | |
434 yd->chat_name = g_strdup(room); | |
435 gaim_conv_chat_add_users(GAIM_CONV_CHAT(c), members); | |
436 } | |
419 } else if (c) { | 437 } else if (c) { |
420 yahoo_chat_add_users(GAIM_CONV_CHAT(c), members); | 438 yahoo_chat_add_users(GAIM_CONV_CHAT(c), members); |
421 } | 439 } |
422 | 440 |
423 g_list_free(members); | 441 g_list_free(members); |