Blender Git Loki

Git Commits -> Revision 9633600

January 13, 2021, 13:29 (GMT)
Fix T84397: Creating and removing many objects very quickly causes a crash

The root of the issue was caused by the dependency graph using ID pointer
to map evaluated state from old depsgraph to new one upon relations update.
This was failing when IDs were re-allocated rapidly: was possible that
Object ID's evaluated state assigned to Mesh and vice versa.

Now depsgraph uses Session UUID to identify which IDs to restore evaluated
state to. The session UUID is stored in the IDNode, so that id_orig is not
dereferenced on depsgraph update since the ID might be freed.

The root of the issue is identified by Campbell, original patch was done
by Bastien, thanks! Also thanks to Oliver and Ray and everyone else for
testing!

Commit Details:

Full Hash: 96336007e9bb55de4b065c89cec3e335b0d2b73a
Parent Commit: 20c71ca
Committed By: Jeroen Bakker
Lines Changed: +20, -5

4 Modified Paths:

/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc (+6, -2) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.h (+2, -2) (Diff)
/source/blender/depsgraph/intern/node/deg_node_id.cc (+1, -0) (Diff)
/source/blender/depsgraph/intern/node/deg_node_id.h (+11, -1) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021