diff options
| author | Sébastien Crozet <developer@crozet.re> | 2021-04-03 15:26:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-03 15:26:38 +0200 |
| commit | 44a6955debf1c625c0674673bd0f98bb6340048a (patch) | |
| tree | e15591653a7792a8a2e92562c87a69fdb65e6cbf /src/geometry | |
| parent | 7557d2a6ee20488835998c8aef4541ed5ada576f (diff) | |
| parent | 54927368634068f99c4d47e7c5799edba10633a6 (diff) | |
| download | rapier-44a6955debf1c625c0674673bd0f98bb6340048a.tar.gz rapier-44a6955debf1c625c0674673bd0f98bb6340048a.tar.bz2 rapier-44a6955debf1c625c0674673bd0f98bb6340048a.zip | |
Merge pull request #164 from dimforge/collider_removal_fix
Fix crash caused by a collider being remove before the first timestep.
Diffstat (limited to 'src/geometry')
| -rw-r--r-- | src/geometry/collider_set.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/geometry/collider_set.rs b/src/geometry/collider_set.rs index 7af34f1..7b453a3 100644 --- a/src/geometry/collider_set.rs +++ b/src/geometry/collider_set.rs @@ -139,7 +139,12 @@ impl ColliderSet { self.modified_all_colliders = false; } else { for handle in self.modified_colliders.drain(..) { - self.colliders[handle.0].changes = ColliderChanges::empty(); + // NOTE: if the collider was added, then removed from this set before + // a an update, then it will no longer exist in `self.colliders` + // so we need to do this `if let`. + if let Some(co) = self.colliders.get_mut(handle.0) { + co.changes = ColliderChanges::empty(); + } } } } |
