aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/parser
diff options
context:
space:
mode:
authoriNPUTmice <daniel@gultsch.de>2014-07-20 02:26:23 +0200
committeriNPUTmice <daniel@gultsch.de>2014-07-20 02:26:23 +0200
commit22e504b8f96af6c5f54d8f7c82a190fefa4e5fb1 (patch)
tree119927970519f48bd1aa66d70d093bebc893b1ff /src/eu/siacs/conversations/parser
parent1cfe557b2b7035c3b7df26948b82a11dff141e77 (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.java3
-rw-r--r--src/eu/siacs/conversations/parser/PresenceParser.java8
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);