diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2021-08-26 16:45:00 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2021-09-06 10:36:36 +0300 |
commit | 333db02e5d9dfc059b67e372637f0b6b5b159cd9 (patch) | |
tree | b031a657e0a9fc55137b86a6d2424f8b8036195b /source/blender/blenkernel | |
parent | f0b3b6710c6ae66121deb6d8fd5ee95194b1a643 (diff) |
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
Diffstat (limited to 'source/blender/blenkernel')
0 files changed, 0 insertions, 0 deletions