Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-06-27 15:36:37 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-06-27 17:35:06 +0300
commit05bcb2d5f55240edf2855176d98be697ab540254 (patch)
tree6ed3f448d96809a3ea9f00bbdf2cb01981dc3d31 /source/blender/depsgraph/intern/builder/deg_builder_relations.cc
parentc3594f6469fbbdd433ee20923cab62c33c271946 (diff)
Depsgraph: Fix missing relation from action to animation when it's shared
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations.cc')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 06c17b19a8c..252f9a60a0e 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1032,6 +1032,9 @@ void DepsgraphRelationBuilder::build_animdata_curves(ID *id)
if (adt == NULL) {
return;
}
+ if (adt->action != NULL) {
+ build_action(adt->action);
+ }
if (adt->action == NULL && adt->nla_tracks.first == NULL) {
return;
}
@@ -1040,9 +1043,7 @@ void DepsgraphRelationBuilder::build_animdata_curves(ID *id)
TimeSourceKey time_src_key;
add_relation(time_src_key, adt_key, "TimeSrc -> Animation");
/* Relation from action itself. */
- if (adt->action != NULL &&
- !built_map_.checkIsBuiltAndTag(&adt->action->id))
- {
+ if (adt->action != NULL) {
ComponentKey action_key(&adt->action->id, DEG_NODE_TYPE_ANIMATION);
add_relation(action_key, adt_key, "Action -> Animation");
}
@@ -1204,6 +1205,13 @@ void DepsgraphRelationBuilder::build_animdata_drivers(ID *id)
}
}
+void DepsgraphRelationBuilder::build_action(bAction *action)
+{
+ if (built_map_.checkIsBuiltAndTag(action)) {
+ return;
+ }
+}
+
void DepsgraphRelationBuilder::build_driver(ID *id, FCurve *fcu)
{
ChannelDriver *driver = fcu->driver;