diff options
Diffstat (limited to 'source/blender/makesdna/DNA_ID.h')
-rw-r--r-- | source/blender/makesdna/DNA_ID.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 40916cbdc61..063ea04bdba 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -245,6 +245,12 @@ typedef struct ID { int us; int icon_id; int recalc; + /** + * Used by undo code. Value of recalc is stored there when reading an ID from memfile, and not + * touched by anything, which means it can be used as 'reference' recalc value for the next undo + * step, when going backward (i.e. actual undo, redo can just use recalc value directly). + */ + int recalc_undo_accumulated; /** * A session-wide unique identifier for a given ID, that remain the same across potential @@ -252,6 +258,8 @@ typedef struct ID { */ unsigned int session_uuid; + char _pad[4]; + IDProperty *properties; /** Reference linked ID which this one overrides. */ @@ -551,6 +559,10 @@ enum { /* Datablock was not allocated by standard system (BKE_libblock_alloc), do not free its memory * (usual type-specific freeing is called though). */ LIB_TAG_NOT_ALLOCATED = 1 << 18, + + /* RESET_AFTER_USE Used by undo system to tag unchanged IDs re-used from old Main (instead of + * read from memfile). */ + LIB_TAG_UNDO_OLD_ID_REUSED = 1 << 19, }; /* Tag given ID for an update in all the dependency graphs. */ |