diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs index 1dbf164..24fceb9 100644 --- a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs +++ b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs | |||
@@ -466,6 +466,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
466 | { | 466 | { |
467 | lock (_parent_scene.OdeLock) | 467 | lock (_parent_scene.OdeLock) |
468 | { | 468 | { |
469 | d.AllocateODEDataForThread(0); | ||
470 | |||
469 | d.Vector3 dtmp; | 471 | d.Vector3 dtmp; |
470 | if (!childPrim && Body != IntPtr.Zero) | 472 | if (!childPrim && Body != IntPtr.Zero) |
471 | { | 473 | { |
@@ -892,9 +894,11 @@ namespace OpenSim.Region.PhysicsModule.ubOde | |||
892 | _velocity.Y = 0; | 894 | _velocity.Y = 0; |
893 | _velocity.Z = 0; | 895 | _velocity.Z = 0; |
894 | 896 | ||
897 | d.AllocateODEDataForThread(0); | ||
898 | |||
895 | m_lastVelocity = _velocity; | 899 | m_lastVelocity = _velocity; |
896 | if (m_vehicle != null && m_vehicle.Type != Vehicle.TYPE_NONE) | 900 | if (m_vehicle != null && m_vehicle.Type != Vehicle.TYPE_NONE) |
897 | m_vehicle.Stop(); | 901 | m_vehicle.Stop(); |
898 | 902 | ||
899 | if(Body != IntPtr.Zero) | 903 | if(Body != IntPtr.Zero) |
900 | d.BodySetLinearVel(Body, 0, 0, 0); // stop it | 904 | d.BodySetLinearVel(Body, 0, 0, 0); // stop it |