diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2007-06-04 14:22:05 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2007-06-04 14:22:05 +0100 |
commit | d06eabf19ec3f849d8bab22c13d43e4eba9a48ee (patch) | |
tree | 0528ff030b32b1de53967641ce29f44653286012 /protocols/jabber | |
parent | 54f2f55f983f4b6bb8a58772bbd1137580e3307f (diff) |
Added imcb_buddy_nick_hint so the Jabber conference module can suggest sane
nicknames for chatroom participants. There'll probably be a lot of
underscores now, but this is by far the cleanest way to implement this, I
think. At least now whispers will work properly. Also using this function
call to set names for ICQ contacts in a slightly saner way.
Diffstat (limited to 'protocols/jabber')
-rw-r--r-- | protocols/jabber/conference.c | 3 | ||||
-rw-r--r-- | protocols/jabber/iq.c | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/protocols/jabber/conference.c b/protocols/jabber/conference.c index a97590ba..b77e037b 100644 --- a/protocols/jabber/conference.c +++ b/protocols/jabber/conference.c @@ -159,6 +159,9 @@ void jabber_chat_pkt_presence( struct im_connection *ic, struct jabber_buddy *bu if( s ) *s = 0; /* Should NEVER be NULL, but who knows... */ imcb_chat_add_buddy( chat, bud->ext_jid ); if( s ) *s = '/'; + + if( bud != jc->me ) + imcb_buddy_nick_hint( ic, bud->ext_jid, bud->resource ); } else if( type ) /* This only gets called if type is NULL or "unavailable" */ { diff --git a/protocols/jabber/iq.c b/protocols/jabber/iq.c index 2aa9d432..62e6a183 100644 --- a/protocols/jabber/iq.c +++ b/protocols/jabber/iq.c @@ -372,7 +372,11 @@ static xt_status jabber_parse_roster( struct im_connection *ic, struct xt_node * imcb_add_buddy( ic, jid, ( group && group->text_len ) ? group->text : NULL ); - imcb_rename_buddy( ic, jid, name ); + if( name ) + { + imcb_rename_buddy( ic, jid, name ); + imcb_buddy_nick_hint( ic, jid, name ); + } } else if( strcmp( sub, "remove" ) == 0 ) { |