diff options
| author | Linus Jahn <lnj@kaidan.im> | 2020-07-01 21:09:34 +0200 |
|---|---|---|
| committer | LNJ <lnj@kaidan.im> | 2020-07-03 13:02:47 +0200 |
| commit | aa758fc9b331dc73b434b633955e4f655a948797 (patch) | |
| tree | b783f8540945b621543f3476b5a7235928accdeb /src/client/QXmppMessageReceiptManager.cpp | |
| parent | 4b61a5e1a592423960e1361c1e24a0130c612b66 (diff) | |
| download | qxmpp-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.cpp | 5 |
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()); |
