From 9f66062da73e954f7c00acd9d5d5ead9ac1e8863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 16 Jan 2020 14:57:33 +0100 Subject: Fix T72213: F-Curve animation does not update FreeStyle properties FreeStyle line styles were not part of the dependency graph, and blacklisted from the Copy-on-Write system. As a result, animated FreeStyle properties would not be updated by the animation system, resulting in T72213. There was an explicit call to run the animation system on the original datablocks, but that was (for good reasons) removed in D5394. This commit adds the FreeStyleLineStyle datablocks to the dependency graph and allows them to be handled by the CoW system. As a result - the UI now updates properly when properties are animated, and - animated property values are actually used when rendering. This commit includes @Sergey's patch P1222, which unifies two bits of code that did the same thing: check whether datablock type is covered by copy-on-write. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D6609 --- source/blender/depsgraph/intern/builder/deg_builder_relations.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations.h') diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.h b/source/blender/depsgraph/intern/builder/deg_builder_relations.h index c6a0014577f..81bc82c036a 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.h +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.h @@ -51,6 +51,8 @@ struct Camera; struct Collection; struct EffectorWeights; struct FCurve; +struct FreestyleLineSet; +struct FreestyleLineStyle; struct ID; struct Image; struct Key; @@ -264,6 +266,8 @@ class DepsgraphRelationBuilder : public DepsgraphBuilder { virtual void build_nodetree(bNodeTree *ntree); virtual void build_material(Material *ma); virtual void build_materials(Material **materials, int num_materials); + virtual void build_freestyle_lineset(FreestyleLineSet *fls); + virtual void build_freestyle_linestyle(FreestyleLineStyle *linestyle); virtual void build_texture(Tex *tex); virtual void build_image(Image *image); virtual void build_gpencil(bGPdata *gpd); -- cgit v1.2.3