aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs10
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs2
2 files changed, 12 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs b/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
index 498cc2f..8aceaa1 100644
--- a/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
@@ -182,6 +182,16 @@ namespace OpenSim.Region.CoreModules.Framework
182 } 182 }
183 else 183 else
184 { 184 {
185 foreach (KeyValuePair<uint, Caps> kvp in m_capsObjects)
186 {
187 if (kvp.Value.AgentID == agentId)
188 {
189 kvp.Value.DeregisterHandlers();
190 m_scene.EventManager.TriggerOnDeregisterCaps(agentId, kvp.Value);
191 m_capsObjects.Remove(kvp.Key);
192 return;
193 }
194 }
185 m_log.WarnFormat( 195 m_log.WarnFormat(
186 "[CAPS]: Received request to remove CAPS handler for root agent {0} in {1}, but no such CAPS handler found!", 196 "[CAPS]: Received request to remove CAPS handler for root agent {0} in {1}, but no such CAPS handler found!",
187 agentId, m_scene.RegionInfo.RegionName); 197 agentId, m_scene.RegionInfo.RegionName);
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 55e7da4..769b4e8 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -4752,6 +4752,8 @@ namespace OpenSim.Region.Framework.Scenes
4752 if (m_clientManager.TryGetValue(agentID, out client)) 4752 if (m_clientManager.TryGetValue(agentID, out client))
4753 { 4753 {
4754 m_clientManager.Remove(agentID); 4754 m_clientManager.Remove(agentID);
4755 if (CapsModule != null)
4756 CapsModule.RemoveCaps(agentID, 0);
4755 m_log.DebugFormat( "[SCENE]: Dead client for agent ID {0} was cleaned up in {1}", agentID, Name); 4757 m_log.DebugFormat( "[SCENE]: Dead client for agent ID {0} was cleaned up in {1}", agentID, Name);
4756 return true; 4758 return true;
4757 } 4759 }