Blender Git Commit Log

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021