diff options
author | Bastien Montagne <bastien@blender.org> | 2020-12-24 20:11:46 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2021-01-25 16:48:51 +0300 |
commit | 2a81d948ad00c5099ecdbdf2505c8732c99a1fba (patch) | |
tree | eb48ff9dc8f1b0d8ef44f06d18d962af417762f1 /source/blender/blenkernel/BKE_lib_override.h | |
parent | 5c490bcbc82b43487f2e08978b69f1900e8bfce5 (diff) |
LibOverride: refactor of relationships handling in library overrides.
First step towards a better handling of relationships between IDs in
override context, especially when a resync is needed.
First, introduce a new flag to override operations,
`IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE`, for ID pointers.
It keeps track of whether an RNA ID pointer has been kept to its
'natural overriden ID' (in override hierarchy context), or has actually
been re-assigned to some other data-block.
Second, refactor how we deal with relationships between IDs in override
hierarchy code, especially in resync case. This will fixe several cases
listed in T83811, especially the case where an ID pointer to an existing
override needs to be updated to a new one due to a matching change in
linked data.
Diffstat (limited to 'source/blender/blenkernel/BKE_lib_override.h')
-rw-r--r-- | source/blender/blenkernel/BKE_lib_override.h | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/source/blender/blenkernel/BKE_lib_override.h b/source/blender/blenkernel/BKE_lib_override.h index c9a9c26e222..5fd451dc986 100644 --- a/source/blender/blenkernel/BKE_lib_override.h +++ b/source/blender/blenkernel/BKE_lib_override.h @@ -65,15 +65,6 @@ struct ID *BKE_lib_override_library_create_from_id(struct Main *bmain, struct ID *reference_id, const bool do_tagged_remap); bool BKE_lib_override_library_create_from_tag(struct Main *bmain); -void BKE_lib_override_library_dependencies_tag(struct Main *bmain, - struct ID *id_root, - const uint tag, - const bool do_create_main_relashionships); -void BKE_lib_override_library_override_group_tag(struct Main *bmain, - struct ID *id_root, - const uint tag, - const uint missing_tag, - const bool do_create_main_relashionships); bool BKE_lib_override_library_create(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, |