diff options
Diffstat (limited to 'src/pipeline/user_changes.rs')
| -rw-r--r-- | src/pipeline/user_changes.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/pipeline/user_changes.rs b/src/pipeline/user_changes.rs index 34a34a2..99c5cfe 100644 --- a/src/pipeline/user_changes.rs +++ b/src/pipeline/user_changes.rs @@ -60,8 +60,14 @@ pub(crate) fn handle_user_changes_to_rigid_bodies<Bodies, Colliders>( for handle in modified_bodies { let mut final_action = None; + let changes: Option<&RigidBodyChanges> = bodies.get(handle.0); - let mut changes: RigidBodyChanges = *bodies.index(handle.0); + if changes.is_none() { + // The body no longer exists. + continue; + } + + let mut changes = *changes.unwrap(); let mut ids: RigidBodyIds = *bodies.index(handle.0); let mut activation: RigidBodyActivation = *bodies.index(handle.0); let (status, rb_colliders, poss): ( |
