diff options
author | meta7 | 2010-08-10 09:55:40 -0700 |
---|---|---|
committer | meta7 | 2010-08-10 09:55:40 -0700 |
commit | 1582e05ac78ac46708de84f5d35f79c935febd5b (patch) | |
tree | 2ce2fbb17827f7fdb80174177f6aa45f8b2a79f6 | |
parent | Fix a dangling lock issue in llRemoveInventory (diff) | |
download | opensim-SC_OLD-1582e05ac78ac46708de84f5d35f79c935febd5b.zip opensim-SC_OLD-1582e05ac78ac46708de84f5d35f79c935febd5b.tar.gz opensim-SC_OLD-1582e05ac78ac46708de84f5d35f79c935febd5b.tar.bz2 opensim-SC_OLD-1582e05ac78ac46708de84f5d35f79c935febd5b.tar.xz |
Fix a nullref issue in the AgentSetAppearance packet handler when removing the physactor from the scene
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 17 |
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 | ||