aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/QXmppDiscoveryManager.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/client/QXmppDiscoveryManager.cpp b/src/client/QXmppDiscoveryManager.cpp
index 778e36e5..9582853b 100644
--- a/src/client/QXmppDiscoveryManager.cpp
+++ b/src/client/QXmppDiscoveryManager.cpp
@@ -258,19 +258,23 @@ bool QXmppDiscoveryManager::handleStanza(const QDomElement &element)
if(receivedIq.type() == QXmppIq::Get &&
receivedIq.queryType() == QXmppDiscoveryIq::InfoQuery &&
- (receivedIq.queryNode().isEmpty() || receivedIq.queryNode().startsWith(d->clientCapabilitiesNode)))
- {
+ (receivedIq.queryNode().isEmpty() ||
+ receivedIq.queryNode().startsWith(d->clientCapabilitiesNode))) {
// respond to query
QXmppDiscoveryIq qxmppFeatures = capabilities();
qxmppFeatures.setId(receivedIq.id());
qxmppFeatures.setTo(receivedIq.from());
qxmppFeatures.setQueryNode(receivedIq.queryNode());
client()->sendPacket(qxmppFeatures);
- }
- else if(receivedIq.queryType() == QXmppDiscoveryIq::InfoQuery)
+ } else if(receivedIq.type() == QXmppIq::Result &&
+ receivedIq.queryType() == QXmppDiscoveryIq::InfoQuery) {
+ // info result
emit infoReceived(receivedIq);
- else if(receivedIq.queryType() == QXmppDiscoveryIq::ItemsQuery)
+ } else if(receivedIq.type() == QXmppIq::Result &&
+ receivedIq.queryType() == QXmppDiscoveryIq::ItemsQuery) {
+ // items result
emit itemsReceived(receivedIq);
+ }
return true;
}