aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework
diff options
context:
space:
mode:
authorMelanie Thielker2014-09-22 18:49:08 +0200
committerMelanie Thielker2014-09-22 18:49:08 +0200
commit0bfba122f0b9ea036d18020c64110d041ff56151 (patch)
tree231556779af9f41cbf947966c22a7ac74d9f3744 /OpenSim/Region/CoreModules/Framework
parentA stab at brute force fixing the locking - one, make m_itemLock volatile, two, (diff)
downloadopensim-SC_OLD-0bfba122f0b9ea036d18020c64110d041ff56151.zip
opensim-SC_OLD-0bfba122f0b9ea036d18020c64110d041ff56151.tar.gz
opensim-SC_OLD-0bfba122f0b9ea036d18020c64110d041ff56151.tar.bz2
opensim-SC_OLD-0bfba122f0b9ea036d18020c64110d041ff56151.tar.xz
When a ghosted avatar is removed, also remove any remaining CAPS
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r--OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs10
1 files changed, 10 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);