[Bf-blender-cvs] [fd0bc7e002c] blender-v2.82-release: Fix T72660: Alembic caches are not properly updated by drivers
Sybren A. Stüvel
noreply at git.blender.org
Tue Jan 28 16:34:03 CET 2020
Commit: fd0bc7e002ced8ffd85e9aa3edcae173dbd13392
Author: Sybren A. Stüvel
Date: Tue Jan 28 16:15:40 2020 +0100
Branches: blender-v2.82-release
https://developer.blender.org/rBfd0bc7e002ced8ffd85e9aa3edcae173dbd13392
Fix T72660: Alembic caches are not properly updated by drivers
Drivers were not considered when building the dependency graph for
`CacheFile` datablocks.
===================================================================
M source/blender/depsgraph/intern/builder/deg_builder_relations.cc
===================================================================
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index fa7a63227f5..712d9d23128 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -200,6 +200,15 @@ bool check_id_has_anim_component(ID *id)
return (adt->action != NULL) || (!BLI_listbase_is_empty(&adt->nla_tracks));
}
+bool check_id_has_driver_component(ID *id)
+{
+ AnimData *adt = BKE_animdata_from_id(id);
+ if (adt == nullptr) {
+ return false;
+ }
+ return !BLI_listbase_is_empty(&adt->drivers);
+}
+
OperationCode bone_target_opcode(ID *target,
const char *subtarget,
ID *id,
@@ -2358,8 +2367,9 @@ void DepsgraphRelationBuilder::build_cachefile(CacheFile *cache_file)
/* Animation. */
build_animdata(&cache_file->id);
build_parameters(&cache_file->id);
- if (check_id_has_anim_component(&cache_file->id)) {
- ComponentKey animation_key(&cache_file->id, NodeType::ANIMATION);
+ if (check_id_has_anim_component(&cache_file->id) ||
+ check_id_has_driver_component(&cache_file->id)) {
+ ComponentKey animation_key(&cache_file->id, NodeType::PARAMETERS);
ComponentKey datablock_key(&cache_file->id, NodeType::CACHE);
add_relation(animation_key, datablock_key, "Datablock Animation");
}
More information about the Bf-blender-cvs
mailing list