From 164b7c6690093e5e0bb5038f31264b48aa436c83 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Tue, 24 Mar 2015 12:05:56 +0100 Subject: [PATCH] Set localNodeVer after currentCapsVersion is set --- .../java/org/jivesoftware/smackx/caps/EntityCapsManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/EntityCapsManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/EntityCapsManager.java index 8afc94a16..5bd2880fd 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/EntityCapsManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/caps/EntityCapsManager.java @@ -467,11 +467,13 @@ public class EntityCapsManager extends Manager { DiscoverInfo discoverInfo = new DiscoverInfo(); discoverInfo.setType(IQ.Type.result); - discoverInfo.setNode(getLocalNodeVer()); sdm.addDiscoverInfoTo(discoverInfo); + // getLocalNodeVer() will return a result only after currentCapsVersion is set. Therefore + // set it first and then call getLocalNodeVer() currentCapsVersion = generateVerificationString(discoverInfo); final String localNodeVer = getLocalNodeVer(); + discoverInfo.setNode(localNodeVer); addDiscoverInfoByNode(localNodeVer, discoverInfo); if (lastLocalCapsVersions.size() > 10) { CapsVersionAndHash oldCapsVersion = lastLocalCapsVersions.poll();