diff options
author | Christian Schneppe <christian.schneppe@pix-art.de> | 2019-11-14 20:52:15 +0100 |
---|---|---|
committer | Christian Schneppe <christian.schneppe@pix-art.de> | 2019-11-15 17:14:09 +0100 |
commit | 88948711ff79b9fe7f7ff9badc1b08a97209143f (patch) | |
tree | 53b9b1fdf03f7c0b505ccc7bdba7d42495f9fc59 /src/main/java/de/pixart | |
parent | cccc24c8e2dab0ad102e7f53711657d15a585c7b (diff) |
prevent crash when counterpart in message was null
Diffstat (limited to 'src/main/java/de/pixart')
-rw-r--r-- | src/main/java/de/pixart/messenger/entities/Conversation.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Conversation.java b/src/main/java/de/pixart/messenger/entities/Conversation.java index 2233e22ac..13bfecfca 100644 --- a/src/main/java/de/pixart/messenger/entities/Conversation.java +++ b/src/main/java/de/pixart/messenger/entities/Conversation.java @@ -369,9 +369,13 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl synchronized (this.messages) { for (int i = this.messages.size() - 1; i >= 0; --i) { final Message message = messages.get(i); + final Jid mcp = message.getCounterpart(); + if (mcp == null) { + continue; + } final boolean counterpartMatch = mode == MODE_SINGLE ? - counterpart.asBareJid().equals(message.getCounterpart().asBareJid()) : - counterpart.equals(message.getCounterpart()); + counterpart.asBareJid().equals(mcp.asBareJid()) : + counterpart.equals(mcp); if (counterpartMatch && ((message.getStatus() == Message.STATUS_RECEIVED) == received) && (carbon == message.isCarbon() || received)) { final boolean idMatch = id.equals(message.getRemoteMsgId()) || message.remoteMsgIdMatchInEdit(id); |