aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-02-06 20:40:13 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2012-02-06 20:40:13 +0000
commit1547aca9c2f3e09fcec9c5c1a2edbc39366d9f34 (patch)
tree8ef0e17e22d7cb9de42a92646519eb46860192dd /src
parent28be283f9a1bc9e5b18c4e52a2c815354deee82e (diff)
downloadqxmpp-1547aca9c2f3e09fcec9c5c1a2edbc39366d9f34.tar.gz
cleanup receipt handling
Diffstat (limited to 'src')
-rw-r--r--src/QXmppMessageReceiptManager.cpp27
1 files changed, 10 insertions, 17 deletions
diff --git a/src/QXmppMessageReceiptManager.cpp b/src/QXmppMessageReceiptManager.cpp
index 268f3036..09a4a7c2 100644
--- a/src/QXmppMessageReceiptManager.cpp
+++ b/src/QXmppMessageReceiptManager.cpp
@@ -53,10 +53,12 @@ void QXmppMessageReceiptManager::setAutoReceipt(bool autoReceipt)
*/
void QXmppMessageReceiptManager::sendReceipt(const QString &jid, const QString &id)
{
- QXmppMessage msg;
- msg.setTo(jid);
- msg.setReceiptId(id);
- client()->sendPacket(msg);
+ if (!jid.isEmpty() && !id.isEmpty()) {
+ QXmppMessage msg;
+ msg.setTo(jid);
+ msg.setReceiptId(id);
+ client()->sendPacket(msg);
+ }
}
QStringList QXmppMessageReceiptManager::discoveryFeatures() const
@@ -78,19 +80,10 @@ bool QXmppMessageReceiptManager::handleStanza(const QDomElement &stanza)
return true;
}
- // If autoreceipt is enabled, we queue sending back receipt, otherwise
- // we just ignore the message. In either case, we don't cancel any
- // further processing.
- if (m_autoReceipt
- && message.isReceiptRequested()
- && !message.from().isEmpty()
- && !message.id().isEmpty()) {
-
- QMetaObject::invokeMethod(this,
- "sendReceipt",
- Q_ARG(QString, message.from()),
- Q_ARG(QString, message.id()));
- }
+ // If autoreceipt is enabled, send a receipt.
+ if (m_autoReceipt && message.isReceiptRequested())
+ sendReceipt(message.from(), message.id());
+ // Continue processing.
return false;
}