aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'protocols')
-rw-r--r--protocols/jabber/conference.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/protocols/jabber/conference.c b/protocols/jabber/conference.c
index 75f3100c..6af7688d 100644
--- a/protocols/jabber/conference.c
+++ b/protocols/jabber/conference.c
@@ -328,6 +328,9 @@ void jabber_chat_pkt_presence(struct im_connection *ic, struct jabber_buddy *bud
}
}
bud->flags |= JBFLAG_IS_ANONYMOUS;
+ } else if (bud == jc->me) {
+ g_free(bud->ext_jid);
+ bud->ext_jid = g_strdup(jd->me);
}
if (bud != jc->me && bud->flags & JBFLAG_IS_ANONYMOUS) {
@@ -350,11 +353,12 @@ void jabber_chat_pkt_presence(struct im_connection *ic, struct jabber_buddy *bud
*s = 0; /* Should NEVER be NULL, but who knows... */
}
+ imcb_chat_add_buddy(chat, bud->ext_jid);
+
if (bud != jc->me && (jc->flags & JCFLAG_ALWAYS_USE_NICKS) && !(bud->flags & JBFLAG_IS_ANONYMOUS)) {
imcb_buddy_nick_change(ic, bud->ext_jid, bud->resource);
}
- imcb_chat_add_buddy(chat, bud->ext_jid);
if (s) {
*s = '/';
}