diff options
Diffstat (limited to 'src/eu/siacs/conversations/parser/MessageParser.java')
-rw-r--r-- | src/eu/siacs/conversations/parser/MessageParser.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/eu/siacs/conversations/parser/MessageParser.java b/src/eu/siacs/conversations/parser/MessageParser.java index f0615876..cd10d6c8 100644 --- a/src/eu/siacs/conversations/parser/MessageParser.java +++ b/src/eu/siacs/conversations/parser/MessageParser.java @@ -56,7 +56,7 @@ public class MessageParser extends AbstractParser { String foreignPresence = conversation.getOtrSession() .getSessionID().getUserID(); if (!foreignPresence.equals(fromParts[1])) { - conversation.resetOtrSession(); + conversation.endOtrIfNeeded(); if (properlyAddressed) { conversation.startOtrSession( mXmppConnectionService.getApplicationContext(), @@ -90,6 +90,10 @@ public class MessageParser extends AbstractParser { finishedMessage.setTime(getTimestamp(packet)); return finishedMessage; } catch (Exception e) { + String receivedId = packet.getId(); + if (receivedId!=null) { + mXmppConnectionService.replyWithError(account,packet); + } conversation.resetOtrSession(); return null; } |