diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-05-14 13:42:45 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-05-14 13:51:24 +0400 |
commit | 2ac9e8587b166884076f82f7eb54a23fd59d3111 (patch) | |
tree | 34cbeca54c74dc0531c5a171e22f1a404911bdb1 /source/blender/python | |
parent | 48881ad1e05fffea39091b5d38917c880e8abd4c (diff) |
Dirty fix for memory corruption in the rigid body API.
Problem happens when removing a rigid body reference in a constraint,
and then jumping to the start frame right away. This will cause a full
rebuild of the rigid body world. However, the btRigidBodys are removed
before the constraints, and this leaves dangling pointers in the
btTypedConstraints, which causes corruption when deleting those
constraints later.
Fix for now is to explicitly delete constraints in advance when
rebuilding, while they still have valid btRigidBody pointers.
Ultimately the whole memory management and ownership of Bullet data
needs redesign. This is already happening in the particles_refactor
branch and could be ported to master separately:
https://developer.blender.org/diffusion/B/browse/particles_refactor/source/blender/blenkernel/intern/rigidbody.c
Diffstat (limited to 'source/blender/python')
0 files changed, 0 insertions, 0 deletions