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:
authorBastien Montagne <bastien@blender.org>2021-06-03 11:24:38 +0300
committerBastien Montagne <bastien@blender.org>2021-06-03 11:27:05 +0300
commit2ae4e860f67c8a09976dcb18f101ea4e8c215079 (patch)
tree4a27de4b44c08eac1558357cbdf82cd1ead1b56c /source/blender/blenkernel/intern/lib_override.c
parent2ef192a55b2ca65f07f678aada199357b06713e9 (diff)
LibOverride: ensure proper indirect tag for 'virtual' linked IDs.
Ensure 'virtual' linked override IDs generated by the recursive resync process are tagged as indirectly linked data. This is needed to avoid the 'missing data' messages on those virtual data-blocks after saving and reloading.
Diffstat (limited to 'source/blender/blenkernel/intern/lib_override.c')
-rw-r--r--source/blender/blenkernel/intern/lib_override.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c
index 9a2887a1d16..6718c6ab79f 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -1074,6 +1074,10 @@ bool BKE_lib_override_library_resync(Main *bmain,
BLI_assert(/*id_override_new->lib == NULL || */ id_override_new->lib == id->lib);
BLI_assert(id_override_old == NULL || id_override_old->lib == id_root->lib);
id_override_new->lib = id_root->lib;
+ /* Remap step below will tag directly linked ones properly as needed. */
+ if (ID_IS_LINKED(id_override_new)) {
+ id_override_new->tag |= LIB_TAG_INDIRECT;
+ }
if (id_override_old != NULL) {
/* Swap the names between old override ID and new one. */