diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSScene.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index e8c628c..44a249c 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |||
@@ -544,12 +544,15 @@ public class BSScene : PhysicsScene, IPhysicsParameters | |||
544 | 544 | ||
545 | // The above SendCollision's batch up the collisions on the objects. | 545 | // The above SendCollision's batch up the collisions on the objects. |
546 | // Now push the collisions into the simulator. | 546 | // Now push the collisions into the simulator. |
547 | // If the object is done colliding, it will add itself to the ObjectsWithNoMoreCollisions list. | ||
548 | if (ObjectsWithCollisions.Count > 0) | 547 | if (ObjectsWithCollisions.Count > 0) |
549 | { | 548 | { |
550 | foreach (BSPhysObject bsp in ObjectsWithCollisions) | 549 | foreach (BSPhysObject bsp in ObjectsWithCollisions) |
551 | if (!m_avatars.Contains(bsp)) // don't call avatars twice | 550 | if (!m_avatars.Contains(bsp)) // don't call avatars twice |
552 | bsp.SendCollisions(); | 551 | if (!bsp.SendCollisions()) |
552 | { | ||
553 | // If the object is done colliding, see that it's removed from the colliding list | ||
554 | ObjectsWithNoMoreCollisions.Add(bsp); | ||
555 | } | ||
553 | } | 556 | } |
554 | 557 | ||
555 | // Objects that are done colliding are removed from the ObjectsWithCollisions list. | 558 | // Objects that are done colliding are removed from the ObjectsWithCollisions list. |