diff options
author | Bastien Montagne <bastien@blender.org> | 2022-01-05 18:30:15 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2022-01-05 19:30:22 +0300 |
commit | bfb760e16acbc33661739154f0ab8f5505987d1d (patch) | |
tree | 1058bb182647e3e5a364509e868344f419899e6b /source/blender/makesdna | |
parent | 1403f034ffd4b394fc8a9b8adec34698dcec891e (diff) |
Fix T94650: LibOverride: Bad handling of (auto)resync in case of single override.
Overrides that are not created as part of an override hierarchy should
not be handled through (auto)resync at all. users are responsible to
hanlde those updates if they need it.
This is achieved by flagging overrides created outside of a hierarchical
process accordingly, and skipping them during resync process.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_ID.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 17b3fb302e6..9fdf7be04e2 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -315,8 +315,22 @@ typedef struct IDOverrideLibrary { struct ID *storage; IDOverrideLibraryRuntime *runtime; + + void *_pad_0; + + unsigned int flag; + char _pad_1[4]; } IDOverrideLibrary; +/* IDOverrideLibrary->flag */ +enum { + /** + * The override data-block should not be considered as part of an override hierarchy (generally + * because it was created as an single override, outside of any hierarchy consideration). + */ + IDOVERRIDE_LIBRARY_FLAG_NO_HIERARCHY = 1 << 0, +}; + /* watch it: Sequence has identical beginning. */ /** * ID is the first thing included in all serializable types. It |