diff options
| author | 0xd34df00d <0xd34df00d@gmail.com> | 2012-09-04 15:38:00 +0400 |
|---|---|---|
| committer | 0xd34df00d <0xd34df00d@gmail.com> | 2012-09-04 15:38:00 +0400 |
| commit | aacef2ca381c6afe6d9953334fe10f38b3567d90 (patch) | |
| tree | 9adc15f689825c369193488c7dacfb37ac7fe901 /src | |
| parent | bbbee461d2c2d3a944543c90e10c7f991daa8d2a (diff) | |
| download | qxmpp-aacef2ca381c6afe6d9953334fe10f38b3567d90.tar.gz | |
Handle Error disco replies in DiscoveryManager as well.
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/QXmppDiscoveryManager.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client/QXmppDiscoveryManager.cpp b/src/client/QXmppDiscoveryManager.cpp index 8b0e207d..0bd588b0 100644 --- a/src/client/QXmppDiscoveryManager.cpp +++ b/src/client/QXmppDiscoveryManager.cpp @@ -256,6 +256,9 @@ bool QXmppDiscoveryManager::handleStanza(const QDomElement &element) QXmppDiscoveryIq receivedIq; receivedIq.parse(element); + const bool isReplyType = receivedIq.type() == QXmppIq::Result || + receivedIq.type() == QXmppIq::Error; + if(receivedIq.type() == QXmppIq::Get && receivedIq.queryType() == QXmppDiscoveryIq::InfoQuery && (receivedIq.queryNode().isEmpty() || @@ -266,11 +269,11 @@ bool QXmppDiscoveryManager::handleStanza(const QDomElement &element) qxmppFeatures.setTo(receivedIq.from()); qxmppFeatures.setQueryNode(receivedIq.queryNode()); client()->sendPacket(qxmppFeatures); - } else if(receivedIq.type() == QXmppIq::Result && + } else if(isReplyType && receivedIq.queryType() == QXmppDiscoveryIq::InfoQuery) { // info result emit infoReceived(receivedIq); - } else if(receivedIq.type() == QXmppIq::Result && + } else if(isReplyType && receivedIq.queryType() == QXmppDiscoveryIq::ItemsQuery) { // items result emit itemsReceived(receivedIq); |
