From aacef2ca381c6afe6d9953334fe10f38b3567d90 Mon Sep 17 00:00:00 2001 From: 0xd34df00d <0xd34df00d@gmail.com> Date: Tue, 4 Sep 2012 15:38:00 +0400 Subject: Handle Error disco replies in DiscoveryManager as well. --- src/client/QXmppDiscoveryManager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/client/QXmppDiscoveryManager.cpp') 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); -- cgit v1.2.3