diff options
author | Robert Adams | 2015-08-09 15:36:50 -0700 |
---|---|---|
committer | Robert Adams | 2015-08-09 15:36:50 -0700 |
commit | fe37cb999055c0df27a3fc1e038013575a63e2ea (patch) | |
tree | 341307fa0ad9aee33a319cbb6c4d82a0f7cebe16 /OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | |
parent | BulletSim: update the motion actors so they completely clean themselves (diff) | |
download | opensim-SC-fe37cb999055c0df27a3fc1e038013575a63e2ea.zip opensim-SC-fe37cb999055c0df27a3fc1e038013575a63e2ea.tar.gz opensim-SC-fe37cb999055c0df27a3fc1e038013575a63e2ea.tar.bz2 opensim-SC-fe37cb999055c0df27a3fc1e038013575a63e2ea.tar.xz |
BulletSim: rearrange code and add different locking to eliminate chances
of race conditions and, especially, race conditions when an object is
removed and quickly re-added to a scene.
This hopefully reduces the occurance of problems when avatars TP within
a region -- the main problem being the loss of collisions.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index d0cc1eb..9c3f160 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | |||
@@ -459,7 +459,7 @@ public sealed class BSCharacter : BSPhysObject | |||
459 | RawVelocity = value; | 459 | RawVelocity = value; |
460 | OMV.Vector3 vel = RawVelocity; | 460 | OMV.Vector3 vel = RawVelocity; |
461 | 461 | ||
462 | DetailLog("{0}: set Velocity = {1}", LogHeader, value); | 462 | DetailLog("{0}: set Velocity = {1}", LocalID, value); |
463 | 463 | ||
464 | PhysScene.TaintedObject(LocalID, "BSCharacter.setVelocity", delegate() | 464 | PhysScene.TaintedObject(LocalID, "BSCharacter.setVelocity", delegate() |
465 | { | 465 | { |
@@ -477,7 +477,7 @@ public sealed class BSCharacter : BSPhysObject | |||
477 | set { | 477 | set { |
478 | PhysScene.AssertInTaintTime("BSCharacter.ForceVelocity"); | 478 | PhysScene.AssertInTaintTime("BSCharacter.ForceVelocity"); |
479 | // Util.PrintCallStack(); | 479 | // Util.PrintCallStack(); |
480 | DetailLog("{0}: set ForceVelocity = {1}", LogHeader, value); | 480 | DetailLog("{0}: set ForceVelocity = {1}", LocalID, value); |
481 | 481 | ||
482 | RawVelocity = value; | 482 | RawVelocity = value; |
483 | PhysScene.PE.SetLinearVelocity(PhysBody, RawVelocity); | 483 | PhysScene.PE.SetLinearVelocity(PhysBody, RawVelocity); |