diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | 11 |
3 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index b24641a..2236e43 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -1111,7 +1111,7 @@ namespace OpenSim | |||
1111 | aCircuit.Name, | 1111 | aCircuit.Name, |
1112 | aCircuit.child ? "child" : "root", | 1112 | aCircuit.child ? "child" : "root", |
1113 | aCircuit.circuitcode.ToString(), | 1113 | aCircuit.circuitcode.ToString(), |
1114 | aCircuit.IPAddress.ToString(), | 1114 | aCircuit.IPAddress != null ? aCircuit.IPAddress.ToString() : "not set", |
1115 | aCircuit.Viewer); | 1115 | aCircuit.Viewer); |
1116 | }); | 1116 | }); |
1117 | 1117 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 2cdc4b3..7d8cbf5 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3384,9 +3384,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
3384 | } | 3384 | } |
3385 | else | 3385 | else |
3386 | { | 3386 | { |
3387 | // We remove the acd up here to avoid later raec conditions if two RemoveClient() calls occurred | 3387 | // We remove the acd up here to avoid later race conditions if two RemoveClient() calls occurred |
3388 | // simultaneously. | 3388 | // simultaneously. |
3389 | m_authenticateHandler.RemoveCircuit(acd.circuitcode); | 3389 | // We also need to remove by agent ID since NPCs will have no circuit code. |
3390 | m_authenticateHandler.RemoveCircuit(agentID); | ||
3390 | } | 3391 | } |
3391 | } | 3392 | } |
3392 | 3393 | ||
diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs index 9179966..52ed846 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | |||
@@ -117,6 +117,12 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests | |||
117 | Assert.That(npc, Is.Not.Null); | 117 | Assert.That(npc, Is.Not.Null); |
118 | Assert.That(npc.Appearance.Texture.FaceTextures[8].TextureID, Is.EqualTo(originalFace8TextureId)); | 118 | Assert.That(npc.Appearance.Texture.FaceTextures[8].TextureID, Is.EqualTo(originalFace8TextureId)); |
119 | Assert.That(m_umMod.GetUserName(npc.UUID), Is.EqualTo(string.Format("{0} {1}", npc.Firstname, npc.Lastname))); | 119 | Assert.That(m_umMod.GetUserName(npc.UUID), Is.EqualTo(string.Format("{0} {1}", npc.Firstname, npc.Lastname))); |
120 | |||
121 | IClientAPI client; | ||
122 | Assert.That(m_scene.TryGetClient(npcId, out client), Is.True); | ||
123 | |||
124 | // Have to account for both SP and NPC. | ||
125 | Assert.That(m_scene.AuthenticateHandler.GetAgentCircuits().Count, Is.EqualTo(2)); | ||
120 | } | 126 | } |
121 | 127 | ||
122 | [Test] | 128 | [Test] |
@@ -136,6 +142,11 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests | |||
136 | ScenePresence deletedNpc = m_scene.GetScenePresence(npcId); | 142 | ScenePresence deletedNpc = m_scene.GetScenePresence(npcId); |
137 | 143 | ||
138 | Assert.That(deletedNpc, Is.Null); | 144 | Assert.That(deletedNpc, Is.Null); |
145 | IClientAPI client; | ||
146 | Assert.That(m_scene.TryGetClient(npcId, out client), Is.False); | ||
147 | |||
148 | // Have to account for SP still present. | ||
149 | Assert.That(m_scene.AuthenticateHandler.GetAgentCircuits().Count, Is.EqualTo(1)); | ||
139 | } | 150 | } |
140 | 151 | ||
141 | [Test] | 152 | [Test] |