Blender Git Commit Log

Git Commits -> Revision dcb9312

Revision dcb9312 by Sybren A. Stüvel (master)
March 9, 2020, 15:05 (GMT)
Depsgraph: fix crash caused by removing too many NO-OP nodes

Unused no-op operation nodes are not bound to a callback function, and
have no outgoing relations. Incoming relations of such nodes are removed
since ff60dd8b18ed00902e5bdfd36882072db7af8735. However, this was done
too broadly, causing too many relations to be lost and indirectly linked
objects to be unevaluated.

This commit introduces a `DEPSOP_FLAG_FAKE_USER` flag for operation
nodes, which indicates they are not to be removed, even when they appear
to be unused.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D7074

Commit Details:

Full Hash: dcb93126876879d969a30a7865700abd072066f8
Parent Commit: 93f6369
Lines Changed: +27, -5

6 Modified Paths:

/source/blender/depsgraph/intern/builder/deg_builder.cc (+3, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc (+3, -1) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_remove_noop.cc (+13, -2) (Diff)
/source/blender/depsgraph/intern/debug/deg_debug_relations_graphviz.cc (+4, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph_build.cc (+0, -2) (Diff)
/source/blender/depsgraph/intern/node/deg_node_operation.h (+4, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021