aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authormeta72010-08-10 09:55:40 -0700
committermeta72010-08-10 09:55:40 -0700
commit1582e05ac78ac46708de84f5d35f79c935febd5b (patch)
tree2ce2fbb17827f7fdb80174177f6aa45f8b2a79f6 /OpenSim/Region
parentFix a dangling lock issue in llRemoveInventory (diff)
downloadopensim-SC-1582e05ac78ac46708de84f5d35f79c935febd5b.zip
opensim-SC-1582e05ac78ac46708de84f5d35f79c935febd5b.tar.gz
opensim-SC-1582e05ac78ac46708de84f5d35f79c935febd5b.tar.bz2
opensim-SC-1582e05ac78ac46708de84f5d35f79c935febd5b.tar.xz
Fix a nullref issue in the AgentSetAppearance packet handler when removing the physactor from the scene
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs17
1 files changed, 11 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 3154872..4064339 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1090,12 +1090,17 @@ namespace OpenSim.Region.Framework.Scenes
1090 { 1090 {
1091 if (PhysicsActor != null) 1091 if (PhysicsActor != null)
1092 { 1092 {
1093 m_physicsActor.OnRequestTerseUpdate -= SendTerseUpdateToAllClients; 1093 try
1094 m_physicsActor.OnOutOfBounds -= OutOfBoundsCall; 1094 {
1095 m_scene.PhysicsScene.RemoveAvatar(PhysicsActor); 1095 m_physicsActor.OnRequestTerseUpdate -= SendTerseUpdateToAllClients;
1096 m_physicsActor.UnSubscribeEvents(); 1096 m_physicsActor.OnOutOfBounds -= OutOfBoundsCall;
1097 m_physicsActor.OnCollisionUpdate -= PhysicsCollisionUpdate; 1097 m_physicsActor.OnCollisionUpdate -= PhysicsCollisionUpdate;
1098 PhysicsActor = null; 1098 m_scene.PhysicsScene.RemoveAvatar(PhysicsActor);
1099 m_physicsActor.UnSubscribeEvents();
1100 PhysicsActor = null;
1101 }
1102 catch
1103 { }
1099 } 1104 }
1100 } 1105 }
1101 1106