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>2019-03-13 17:38:45 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-03-13 17:51:44 +0300
commit0e9ea707b5e5be2a38dd29dded3dd6c25a5e1992 (patch)
tree6b68505ac06a9fbf5d6a5c6a1cea794d0326adcc /source/blender/depsgraph
parentbc5b0f7a091c3955263701be8c858fd56f8ba59f (diff)
Fix T58721: Keyframing one transform option reset other transforms
Use dedicated flag to tag animation just for copy-on-write synchronization, which makes it so copies of the original data blocks gets in sync with the original ID. This will not flush the animation update to all objects which depend on that animation. If such flush is required, use ID_RECALC_ANIMATION. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4508
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc20
1 files changed, 1 insertions, 19 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index fe1ef81262d..2e78df7584a 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -2635,30 +2635,12 @@ void DepsgraphRelationBuilder::build_copy_on_write_relations(IDNode *id_node)
* copied by copy-on-write, and not preserved. PROBABLY it is better
* to preserve that cache in copy-on-write, but for the time being
* we allow flush to layer collections component which will ensure
- * that cached array fo bases exists and is up-to-date.
- *
- * - Action is allowed to flush as well, this way it's possible to
- * keep current tagging in animation editors (which tags action for
- * CoW update when it's changed) but yet guarantee evaluation order
- * with objects which are using that action. */
+ * that cached array fo bases exists and is up-to-date. */
if (comp_node->type == NodeType::PARAMETERS ||
comp_node->type == NodeType::LAYER_COLLECTIONS)
{
rel_flag &= ~RELATION_FLAG_NO_FLUSH;
}
- if (comp_node->type == NodeType::ANIMATION && id_type == ID_AC) {
- rel_flag &= ~RELATION_FLAG_NO_FLUSH;
- /* NOTE: We only allow flush on user edits. If the action block is
- * just brought into the dependency graph it is either due to
- * initial graph construction or due to some property got animated.
- * In first case all the related datablocks will be tagged for an
- * update as well. In the second case it is up to the editing
- * function to tag changed datablock.
- *
- * This logic allows to preserve unkeyed changes on file load and on
- * undo. */
- rel_flag |= RELATION_FLAG_FLUSH_USER_EDIT_ONLY;
- }
/* All entry operations of each component should wait for a proper
* copy of ID. */
OperationNode *op_entry = comp_node->get_entry_operation();