Mercurial > pidgin.yaz
comparison src/protocols/jabber/presence.c @ 10486:84bc372a621e
[gaim-migrate @ 11776]
jabber status stuff
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Sat, 08 Jan 2005 18:58:19 +0000 |
parents | 9f28196ed769 |
children | a3a540ed2518 |
comparison
equal
deleted
inserted
replaced
10485:58ab47ed31bf | 10486:84bc372a621e |
---|---|
94 xmlnode *presence, *x, *photo; | 94 xmlnode *presence, *x, *photo; |
95 char *stripped = NULL; | 95 char *stripped = NULL; |
96 const char *msg; | 96 const char *msg; |
97 JabberBuddyState state; | 97 JabberBuddyState state; |
98 int priority; | 98 int priority; |
99 | |
100 if(!gaim_status_is_active(status)) | |
101 return; | |
99 | 102 |
100 if(!account) return ; | 103 if(!account) return ; |
101 gc = account->gc; | 104 gc = account->gc; |
102 | 105 |
103 if(!gc) return ; | 106 if(!gc) return ; |
448 chat->muc = muc; | 451 chat->muc = muc; |
449 chat->conv = serv_got_joined_chat(js->gc, chat->id, room_jid); | 452 chat->conv = serv_got_joined_chat(js->gc, chat->id, room_jid); |
450 g_free(chat->handle); | 453 g_free(chat->handle); |
451 chat->handle = g_strdup(jid->resource); | 454 chat->handle = g_strdup(jid->resource); |
452 gaim_conv_chat_set_nick(GAIM_CONV_CHAT(chat->conv), jid->resource); | 455 gaim_conv_chat_set_nick(GAIM_CONV_CHAT(chat->conv), jid->resource); |
456 | |
457 /* <iq to='room@server' | |
458 type='get'> | |
459 <query xmlns='http://jabber.org/protocol/disco#info' | |
460 node='http://jabber.org/protocol/muc#traffic'/> | |
461 </iq> | |
462 */ | |
463 /* expected response format: | |
464 <iq from='room@server' | |
465 type='get'> | |
466 <query xmlns='http://jabber.org/protocol/disco#info' | |
467 node='http://jabber.org/protocol/muc#traffic'> | |
468 <feature var='http://jabber.org/protocol/xhtml-im'/> | |
469 <feature var='jabber:x:roster/'/> | |
470 </query> | |
471 </iq> | |
472 */ | |
473 /* | |
474 * XXX: i'm not sure if we turn off XHTML unless we get | |
475 * xhtml back in this, or if we turn it off only if we | |
476 * get a response, and it's not there. Ask stpeter to | |
477 * clarify. | |
478 */ | |
453 } | 479 } |
454 | 480 |
455 jabber_buddy_track_resource(jb, jid->resource, priority, state, | 481 jabber_buddy_track_resource(jb, jid->resource, priority, state, |
456 status); | 482 status); |
457 | 483 |
464 gaim_conv_chat_user_set_flags(GAIM_CONV_CHAT(chat->conv), jid->resource, | 490 gaim_conv_chat_user_set_flags(GAIM_CONV_CHAT(chat->conv), jid->resource, |
465 flags); | 491 flags); |
466 } | 492 } |
467 g_free(room_jid); | 493 g_free(room_jid); |
468 } else { | 494 } else { |
469 if(state != JABBER_BUDDY_STATE_ERROR && !(jb->subscription & JABBER_SUB_TO)) { | 495 if(state != JABBER_BUDDY_STATE_ERROR && !(jb->subscription & JABBER_SUB_TO || jb->subscription & JABBER_SUB_PENDING)) { |
470 gaim_debug(GAIM_DEBUG_INFO, "jabber", | 496 gaim_debug(GAIM_DEBUG_INFO, "jabber", |
471 "got unexpected presence from %s, ignoring\n", from); | 497 "got unexpected presence from %s, ignoring\n", from); |
472 jabber_id_free(jid); | 498 jabber_id_free(jid); |
473 g_free(status); | 499 g_free(status); |
474 if(avatar_hash) | 500 if(avatar_hash) |