diff options
author | Teravus Ovares | 2009-03-30 14:10:24 +0000 |
---|---|---|
committer | Teravus Ovares | 2009-03-30 14:10:24 +0000 |
commit | 6522b4f5d4167f5f92683758f7959f70a3e73dd2 (patch) | |
tree | 63710a047b66c057889a093d384ee4f738bc6b02 /OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |
parent | Add PickInfoReply packet. (diff) | |
download | opensim-SC_OLD-6522b4f5d4167f5f92683758f7959f70a3e73dd2.zip opensim-SC_OLD-6522b4f5d4167f5f92683758f7959f70a3e73dd2.tar.gz opensim-SC_OLD-6522b4f5d4167f5f92683758f7959f70a3e73dd2.tar.bz2 opensim-SC_OLD-6522b4f5d4167f5f92683758f7959f70a3e73dd2.tar.xz |
* Fixing thread safety of avatar adding and removing from the Physics Scene in the ODEPlugin
* This may help one of the symptoms or mantis 3363 , however it probably won't solve the occasional NonFinite Avatar Position detected.. issues that some people see. That is probably an entirely different issue(NaN).
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/ODECharacter.cs')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 1808fa0..bf8ca0e 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -982,12 +982,14 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
982 | + (Amotor!=IntPtr.Zero ? "Amotor ":"") ); | 982 | + (Amotor!=IntPtr.Zero ? "Amotor ":"") ); |
983 | } | 983 | } |
984 | AvatarGeomAndBodyCreation(_position.X, _position.Y, _position.Z, m_tensor); | 984 | AvatarGeomAndBodyCreation(_position.X, _position.Y, _position.Z, m_tensor); |
985 | 985 | ||
986 | _parent_scene.geom_name_map[Shell] = m_name; | 986 | _parent_scene.geom_name_map[Shell] = m_name; |
987 | _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; | 987 | _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; |
988 | _parent_scene.AddCharacter(this); | ||
988 | } | 989 | } |
989 | else | 990 | else |
990 | { | 991 | { |
992 | _parent_scene.RemoveCharacter(this); | ||
991 | // destroy avatar capsule and related ODE data | 993 | // destroy avatar capsule and related ODE data |
992 | 994 | ||
993 | // Kill the Amotor | 995 | // Kill the Amotor |