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/makesdna/DNA_ID.h
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/makesdna/DNA_ID.h')
-rw-r--r--source/blender/makesdna/DNA_ID.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index cd29a3c5bc4..e1a83a7a5cc 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -527,7 +527,8 @@ enum {
/* Tag given ID for an update in all the dependency graphs. */
typedef enum IDRecalcFlag {
- /* Individual update tags, this is what ID gets tagged for update with. */
+ /***************************************************************************
+ * Individual update tags, this is what ID gets tagged for update with. */
/* ** Object transformation changed. ** */
ID_RECALC_TRANSFORM = (1 << 0),
@@ -585,7 +586,16 @@ typedef enum IDRecalcFlag {
*/
ID_RECALC_COPY_ON_WRITE = (1 << 13),
- /* Aggregate flags, use only for checks on runtime.
+ /***************************************************************************
+ * Pseudonyms, to have more semantic meaning in the actual code without
+ * using too much low-level and implementation specific tags. */
+
+ /* Update animation datablock itself, without doing full re-evaluation of
+ * all dependent objects. */
+ ID_RECALC_ANIMATION_NO_FLUSH = ID_RECALC_COPY_ON_WRITE,
+
+ /***************************************************************************
+ * Aggregate flags, use only for checks on runtime.
* Do NOT use those for tagging. */
/* Identifies that SOMETHING has been changed in this ID. */