aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/rigid_body_set.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynamics/rigid_body_set.rs')
-rw-r--r--src/dynamics/rigid_body_set.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dynamics/rigid_body_set.rs b/src/dynamics/rigid_body_set.rs
index 83f1c51..2efc2cf 100644
--- a/src/dynamics/rigid_body_set.rs
+++ b/src/dynamics/rigid_body_set.rs
@@ -154,7 +154,11 @@ impl RigidBodySet {
}
/// Insert a rigid body into this set and retrieve its handle.
- pub fn insert(&mut self, rb: RigidBody) -> RigidBodyHandle {
+ pub fn insert(&mut self, mut rb: RigidBody) -> RigidBodyHandle {
+ // Make sure the internal links are reset, they may not be
+ // if this rigid-body was obtained by cloning another one.
+ rb.reset_internal_links();
+
let handle = self.bodies.insert(rb);
let rb = &mut self.bodies[handle];