diff options
author | Justin Clark-Casey (justincc) | 2012-10-29 23:22:40 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-10-29 23:22:40 +0000 |
commit | 09f4e72d6af4b86238af516b1719ff4f63aa7174 (patch) | |
tree | b374a183a3610509af839c5b514d4d1eabc6902f /OpenSim/Region/OptionalModules/World | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-09f4e72d6af4b86238af516b1719ff4f63aa7174.zip opensim-SC-09f4e72d6af4b86238af516b1719ff4f63aa7174.tar.gz opensim-SC-09f4e72d6af4b86238af516b1719ff4f63aa7174.tar.bz2 opensim-SC-09f4e72d6af4b86238af516b1719ff4f63aa7174.tar.xz |
Fix memory leak where removing an NPC did not remove its circuits.
This was because we were removing by circuitcode where NPCs have no code.
Now removing by agent ID instead.
This commit also fixes the "show circuits" console command to work properly where the circuit has no associated IP address.
Diffstat (limited to 'OpenSim/Region/OptionalModules/World')
-rw-r--r-- | OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | 11 |
1 files changed, 11 insertions, 0 deletions
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] |