diff options
author | iNPUTmice <daniel@gultsch.de> | 2014-07-20 02:26:23 +0200 |
---|---|---|
committer | iNPUTmice <daniel@gultsch.de> | 2014-07-20 02:26:23 +0200 |
commit | 22e504b8f96af6c5f54d8f7c82a190fefa4e5fb1 (patch) | |
tree | 119927970519f48bd1aa66d70d093bebc893b1ff /src/eu/siacs/conversations/parser | |
parent | 1cfe557b2b7035c3b7df26948b82a11dff141e77 (diff) |
ignore groupchats messages that are pending leave
Diffstat (limited to 'src/eu/siacs/conversations/parser')
-rw-r--r-- | src/eu/siacs/conversations/parser/MessageParser.java | 3 | ||||
-rw-r--r-- | src/eu/siacs/conversations/parser/PresenceParser.java | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/eu/siacs/conversations/parser/MessageParser.java b/src/eu/siacs/conversations/parser/MessageParser.java index 728faf4b7..60d8fc6b4 100644 --- a/src/eu/siacs/conversations/parser/MessageParser.java +++ b/src/eu/siacs/conversations/parser/MessageParser.java @@ -109,6 +109,9 @@ public class MessageParser extends AbstractParser implements private Message parseGroupchat(MessagePacket packet, Account account) { int status; String[] fromParts = packet.getFrom().split("/"); + if (mXmppConnectionService.find(account.pendingConferenceLeaves,account,fromParts[0]) != null) { + return null; + } Conversation conversation = mXmppConnectionService .findOrCreateConversation(account, fromParts[0], true); if (packet.hasChild("subject")) { diff --git a/src/eu/siacs/conversations/parser/PresenceParser.java b/src/eu/siacs/conversations/parser/PresenceParser.java index 3a06f302b..489b0e988 100644 --- a/src/eu/siacs/conversations/parser/PresenceParser.java +++ b/src/eu/siacs/conversations/parser/PresenceParser.java @@ -21,14 +21,14 @@ public class PresenceParser extends AbstractParser implements public void parseConferencePresence(PresencePacket packet, Account account) { PgpEngine mPgpEngine = mXmppConnectionService.getPgpEngine(); if (packet.hasChild("x", "http://jabber.org/protocol/muc#user")) { - Conversation muc = mXmppConnectionService.findMuc(packet - .getAttribute("from").split("/")[0], account); + Conversation muc = mXmppConnectionService.find(account,packet + .getAttribute("from").split("/")[0]); if (muc != null) { muc.getMucOptions().processPacket(packet, mPgpEngine); } } else if (packet.hasChild("x", "http://jabber.org/protocol/muc")) { - Conversation muc = mXmppConnectionService.findMuc(packet - .getAttribute("from").split("/")[0], account); + Conversation muc = mXmppConnectionService.find(account,packet + .getAttribute("from").split("/")[0]); if (muc != null) { int error = muc.getMucOptions().getError(); muc.getMucOptions().processPacket(packet, mPgpEngine); |