[Bf-blender-cvs] [2ae4e860f67] master: LibOverride: ensure proper indirect tag for 'virtual' linked IDs.

Bastien Montagne noreply at git.blender.org
Thu Jun 3 12:15:37 CEST 2021


Commit: 2ae4e860f67c8a09976dcb18f101ea4e8c215079
Author: Bastien Montagne
Date:   Thu Jun 3 10:24:38 2021 +0200
Branches: master
https://developer.blender.org/rB2ae4e860f67c8a09976dcb18f101ea4e8c215079

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.

===================================================================

M	source/blender/blenkernel/intern/lib_override.c

===================================================================

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. */



More information about the Bf-blender-cvs mailing list