diff options
author | Christian S <christian@pix-art.de> | 2016-03-04 10:16:11 +0100 |
---|---|---|
committer | Christian S <christian@pix-art.de> | 2016-03-04 10:16:11 +0100 |
commit | c18696c85d5801dfd39ffe494240b5f849deedb8 (patch) | |
tree | a51ac3bbfab1c656a3e00f8725d5e09b774f94c1 /src/main/java/eu/siacs/conversations/parser/PresenceParser.java | |
parent | 024b2c80aa6da4adf2a48d89047a72bbb2bda5ad (diff) | |
parent | cc67bfd8dbae334a121c9d40c13c3816b9eb72a0 (diff) |
Merge branch 'siacs/master' into development
Diffstat (limited to 'src/main/java/eu/siacs/conversations/parser/PresenceParser.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/parser/PresenceParser.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/eu/siacs/conversations/parser/PresenceParser.java b/src/main/java/eu/siacs/conversations/parser/PresenceParser.java index 63d28c97b..c2782d232 100644 --- a/src/main/java/eu/siacs/conversations/parser/PresenceParser.java +++ b/src/main/java/eu/siacs/conversations/parser/PresenceParser.java @@ -64,10 +64,14 @@ public class PresenceParser extends AbstractParser implements Element item = x.findChild("item"); if (item != null && !from.isBareJid()) { mucOptions.setError(MucOptions.Error.NONE); - MucOptions.User user = new MucOptions.User(mucOptions,from); + MucOptions.User user = new MucOptions.User(mucOptions, from); user.setAffiliation(item.getAttribute("affiliation")); user.setRole(item.getAttribute("role")); - user.setJid(item.getAttributeAsJid("jid")); + Jid real = item.getAttributeAsJid("jid"); + if (real != null) { + user.setJid(real); + mucOptions.putMember(real.toBareJid()); + } if (codes.contains(MucOptions.STATUS_CODE_SELF_PRESENCE) || packet.getFrom().equals(mucOptions.getConversation().getJid())) { mucOptions.setOnline(); mucOptions.setSelf(user); |