From 0eb87e36f04e99be0a7c8193b9bcc6fbd77119e1 Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Fri, 14 Dec 2012 16:33:40 +0000 Subject: [PATCH] Changes the check for valid capabilities on discovering info, on not valid one we can end up with infinite loop querying server for discovery info. --- .../impl/protocol/jabber/ScServiceDiscoveryManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ScServiceDiscoveryManager.java b/src/net/java/sip/communicator/impl/protocol/jabber/ScServiceDiscoveryManager.java index 93be35159..30b25a308 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/ScServiceDiscoveryManager.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/ScServiceDiscoveryManager.java @@ -471,7 +471,7 @@ public DiscoverInfo discoverInfo(String entityID) EntityCapsManager.Caps caps = capsManager.getCapsByUser(entityID); // if caps is not valid, has empty hash - if (CACHE_NON_CAPS && (caps == null || caps.hash.equals(""))) + if (CACHE_NON_CAPS && (caps == null || !caps.isValid(discoverInfo))) { discoverInfo = nonCapsCache.get(entityID); if (discoverInfo != null) @@ -523,7 +523,7 @@ public DiscoverInfo discoverInfoNonBlocking(String entityID) EntityCapsManager.Caps caps = capsManager.getCapsByUser(entityID); // if caps is not valid, has empty hash - if (CACHE_NON_CAPS && (caps == null || caps.hash.equals(""))) + if (CACHE_NON_CAPS && (caps == null || !caps.isValid(discoverInfo))) { discoverInfo = nonCapsCache.get(entityID); if (discoverInfo != null)