Blender Git Commit Log

Git Commits -> Revision 333db02

September 6, 2021, 07:36 (GMT)
Fix T88433: no greaspencil depsgraph evaluation with certain drivers

When the same stroke was used as a driver variable, this could make this
stroke already tagged as built in the course of building driver
variables (via `build_gpencil`), but then important stuff from
`build_object_data_geometry_datablock` could be missed later on (because
both of these funtions use `checkIsBuiltAndTag`). Most importantly,
setting up operations such as GEOMETRY_EVAL would be skipped entirely.

`build_object_data_geometry_datablock` seems to cover greasepencil just
fine (does the same as `build_gpencil` and more). Proposed solution is to
remove `build_gpencil` entirely. In `build_id` it would then also call
`build_object_data_geometry_datablock` for `ID_GD` IDs. Now the covered
types that _call_ `build_object_data_geometry_datablock` match exactly
to what is covered _inside_ `build_object_data_geometry_datablock`.

Think this "duplication" of functionality was just overseen in
rB66da2f537ae8 [`build_gpencil` existed long before and said commit made
greasepencil a real object with geometry and such].

thx @JacquesLucke for additional input!

Maniphest Tasks: T88433

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

Commit Details:

Full Hash: 333db02e5d9dfc059b67e372637f0b6b5b159cd9
Parent Commit: f0b3b67
Committed By: Jeroen Bakker
Lines Changed: +4, -38

4 Modified Paths:

/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc (+2, -20) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.h (+0, -1) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.cc (+2, -16) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.h (+0, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021