Blender Git Loki
Git Commits -> Revision bebdb6c
Revision bebdb6c by Bastien Montagne (master) October 4, 2019, 16:57 (GMT) |
Fix assert when deleting a RBW constraint object. Side-reported in T70505. Code did not ensure deleted object was removed from the RBW constraints collection, leading to some invalid status (object in constraints collection but without relevant contraints data). Also fixed another issue - code deleting RBW objects would try to remove any constraint one using it as target, in a very bad and broken way, since you cannot iterate over objects of a collection while removing some... Now instead just NULLify relevant pointers... I hope it works, otherwise we'll have to take a different approach. Needless to stress again how weak the whole RBW code is in general, and regarding same object being used by RBW in more than one scene in particular, that is known broken situation anyway. |
Commit Details:
Full Hash: bebdb6c8249939623f80cc72433aa7d7418444bf
Parent Commit: 3c14628
Lines Changed: +45, -25
7 Modified Paths:
/source/blender/blenkernel/BKE_rigidbody.h (+8, -2) (Diff)
/source/blender/blenkernel/BKE_scene.h (+4, -1) (Diff)
/source/blender/blenkernel/intern/collection.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/rigidbody.c (+24, -10) (Diff)
/source/blender/blenkernel/intern/scene.c (+6, -3) (Diff)
/source/blender/editors/physics/rigidbody_constraint.c (+1, -7) (Diff)
/source/blender/editors/physics/rigidbody_object.c (+1, -1) (Diff)
/source/blender/blenkernel/BKE_scene.h (+4, -1) (Diff)
/source/blender/blenkernel/intern/collection.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/rigidbody.c (+24, -10) (Diff)
/source/blender/blenkernel/intern/scene.c (+6, -3) (Diff)
/source/blender/editors/physics/rigidbody_constraint.c (+1, -7) (Diff)
/source/blender/editors/physics/rigidbody_object.c (+1, -1) (Diff)