diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index 2a8a6a5..8a19944 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |||
@@ -477,19 +477,16 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters | |||
477 | 477 | ||
478 | if (!m_initialized) return null; | 478 | if (!m_initialized) return null; |
479 | 479 | ||
480 | BSCharacter actor = new BSCharacter(localID, avName, this, position, velocity, size, isFlying, | 480 | BSCharacter actor = new BSCharacter(localID, avName, this, position, velocity, size, isFlying); |
481 | (aa) => | 481 | lock (PhysObjects) |
482 | { | 482 | PhysObjects.Add(localID, actor); |
483 | // While the actor exists, don't add it to the active avatar lists until completely initialized | 483 | |
484 | lock (PhysObjects) | 484 | // TODO: Remove kludge someday. |
485 | PhysObjects.Add(localID, aa); | 485 | // We must generate a collision for avatars whether they collide or not. |
486 | // This is required by OpenSim to update avatar animations, etc. | ||
487 | lock (AvatarsInSceneLock) | ||
488 | AvatarsInScene.Add(actor); | ||
486 | 489 | ||
487 | // TODO: Remove kludge someday. | ||
488 | // We must generate a collision for avatars whether they collide or not. | ||
489 | // This is required by OpenSim to update avatar animations, etc. | ||
490 | lock (AvatarsInSceneLock) | ||
491 | AvatarsInScene.Add(aa); | ||
492 | }); | ||
493 | return actor; | 490 | return actor; |
494 | } | 491 | } |
495 | 492 | ||
@@ -833,8 +830,10 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters | |||
833 | if (collider.Collide(collidingWith, collidee, collidePoint, collideNormal, penetration)) | 830 | if (collider.Collide(collidingWith, collidee, collidePoint, collideNormal, penetration)) |
834 | { | 831 | { |
835 | // If a collision was 'good', remember to send it to the simulator | 832 | // If a collision was 'good', remember to send it to the simulator |
836 | // Note that 'CollisionLock' was locked before the call to 'SendCollsions' | 833 | lock (CollisionLock) |
837 | ObjectsWithCollisions.Add(collider); | 834 | { |
835 | ObjectsWithCollisions.Add(collider); | ||
836 | } | ||
838 | } | 837 | } |
839 | } | 838 | } |
840 | 839 | ||