aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@hypnofrog.dub.corp.google.com>2007-06-04 12:45:33 +0100
committerWilmer van der Gaast <wilmer@hypnofrog.dub.corp.google.com>2007-06-04 12:45:33 +0100
commit54f2f55f983f4b6bb8a58772bbd1137580e3307f (patch)
tree0f471a8b89c2c5a8cdc5dfced871e039e32cb271
parentbb95d43e263530805224005ca246addb6bb199fa (diff)
Now anonymous rooms should really work. This makes sure the self-join will
actually be recognized properly. This is running on my work machine for a few days already.
-rw-r--r--protocols/jabber/conference.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/protocols/jabber/conference.c b/protocols/jabber/conference.c
index dde2b8b5..a97590ba 100644
--- a/protocols/jabber/conference.c
+++ b/protocols/jabber/conference.c
@@ -144,10 +144,14 @@ void jabber_chat_pkt_presence( struct im_connection *ic, struct jabber_buddy *bu
/* Make up some other handle, if necessary. */
if( bud->ext_jid == NULL )
{
- /* Don't want the nick to be at the end, so let's
- think of some slightly different notation to use
- for anonymous groupchat participants in BitlBee. */
- bud->ext_jid = g_strdup_printf( "%s=%s", bud->resource, bud->bare_jid );
+ if( bud == jc->me )
+ bud->ext_jid = g_strdup( ic->acc->user );
+ else
+ /* Don't want the nick to be at the end, so let's
+ think of some slightly different notation to use
+ for anonymous groupchat participants in BitlBee. */
+ bud->ext_jid = g_strdup_printf( "%s=%s", bud->resource, bud->bare_jid );
+
bud->flags |= JBFLAG_IS_ANONYMOUS;
}