aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/eu/siacs/conversations/parser')
-rw-r--r--src/eu/siacs/conversations/parser/MessageParser.java6
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;
}