diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-02-06 20:40:13 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-02-06 20:40:13 +0000 |
| commit | 1547aca9c2f3e09fcec9c5c1a2edbc39366d9f34 (patch) | |
| tree | 8ef0e17e22d7cb9de42a92646519eb46860192dd /src | |
| parent | 28be283f9a1bc9e5b18c4e52a2c815354deee82e (diff) | |
| download | qxmpp-1547aca9c2f3e09fcec9c5c1a2edbc39366d9f34.tar.gz | |
cleanup receipt handling
Diffstat (limited to 'src')
| -rw-r--r-- | src/QXmppMessageReceiptManager.cpp | 27 |
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; } |
