aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppMessageReceiptManager.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2020-07-01 21:09:34 +0200
committerLNJ <lnj@kaidan.im>2020-07-03 13:02:47 +0200
commitaa758fc9b331dc73b434b633955e4f655a948797 (patch)
treeb783f8540945b621543f3476b5a7235928accdeb /src/client/QXmppMessageReceiptManager.cpp
parent4b61a5e1a592423960e1361c1e24a0130c612b66 (diff)
downloadqxmpp-aa758fc9b331dc73b434b633955e4f655a948797.tar.gz
QXmppMessageReceiptManager: Ignore all error messages
Not only receipt requests, but also receipts from error messages should not be used.
Diffstat (limited to 'src/client/QXmppMessageReceiptManager.cpp')
-rw-r--r--src/client/QXmppMessageReceiptManager.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/client/QXmppMessageReceiptManager.cpp b/src/client/QXmppMessageReceiptManager.cpp
index 27d96d11..ea4bef96 100644
--- a/src/client/QXmppMessageReceiptManager.cpp
+++ b/src/client/QXmppMessageReceiptManager.cpp
@@ -53,6 +53,9 @@ bool QXmppMessageReceiptManager::handleStanza(const QDomElement &stanza)
QXmppMessage message;
message.parse(stanza);
+ if (message.type() == QXmppMessage::Error)
+ return false;
+
// Handle receipts and cancel any further processing.
if (!message.receiptId().isEmpty()) {
// Buggy clients also mark carbon messages as received; to avoid this
@@ -64,7 +67,7 @@ bool QXmppMessageReceiptManager::handleStanza(const QDomElement &stanza)
}
// If requested, send a receipt.
- if (message.isReceiptRequested() && !message.from().isEmpty() && !message.id().isEmpty() && message.type() != QXmppMessage::Error) {
+ if (message.isReceiptRequested() && !message.from().isEmpty() && !message.id().isEmpty()) {
QXmppMessage receipt;
receipt.setTo(message.from());
receipt.setReceiptId(message.id());