diff options
author | UbitUmarov | 2012-02-15 19:44:54 +0000 |
---|---|---|
committer | UbitUmarov | 2012-02-15 19:44:54 +0000 |
commit | b59275355e9dd8fbc126faf5bded8e61e84df4e8 (patch) | |
tree | 7f56dae8a792710ad4cab21cd7d8a79d3e2bc36b /OpenSim/Region/Physics | |
parent | try to make crossings work better. chode no longer prevents crossings i hope (diff) | |
download | opensim-SC_OLD-b59275355e9dd8fbc126faf5bded8e61e84df4e8.zip opensim-SC_OLD-b59275355e9dd8fbc126faf5bded8e61e84df4e8.tar.gz opensim-SC_OLD-b59275355e9dd8fbc126faf5bded8e61e84df4e8.tar.bz2 opensim-SC_OLD-b59275355e9dd8fbc126faf5bded8e61e84df4e8.tar.xz |
don't freeze with a sitted avatar in a border without other sim. Still messy :(
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r-- | OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs index 95a9741..073241f 100644 --- a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs | |||
@@ -3125,7 +3125,7 @@ Console.WriteLine("ODEPrim JointCreateFixed !!!"); | |||
3125 | d.BodySetPosition(Body, _position.X, _position.Y, _position.Z); | 3125 | d.BodySetPosition(Body, _position.X, _position.Y, _position.Z); |
3126 | d.BodySetLinearVel(Body, 0, 0, 0); | 3126 | d.BodySetLinearVel(Body, 0, 0, 0); |
3127 | 3127 | ||
3128 | if (Interlocked.Exchange(ref m_crossingfailures, 0) == 0) | 3128 | if (Interlocked.Exchange(ref m_crossingfailures, m_crossingfailures) == 0) |
3129 | { // tell base code only once | 3129 | { // tell base code only once |
3130 | Interlocked.Increment(ref m_crossingfailures); | 3130 | Interlocked.Increment(ref m_crossingfailures); |
3131 | base.RequestPhysicsterseUpdate(); | 3131 | base.RequestPhysicsterseUpdate(); |
@@ -3133,7 +3133,7 @@ Console.WriteLine("ODEPrim JointCreateFixed !!!"); | |||
3133 | return; | 3133 | return; |
3134 | } | 3134 | } |
3135 | 3135 | ||
3136 | if (Interlocked.Exchange(ref m_crossingfailures, 0) > 1) | 3136 | if (Interlocked.Exchange(ref m_crossingfailures, 0) != 0) |
3137 | { | 3137 | { |
3138 | // main simulator had a crossing failure | 3138 | // main simulator had a crossing failure |
3139 | // park it inside region | 3139 | // park it inside region |