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.
This commit is contained in:
Bastien Montagne 2021-06-03 10:24:38 +02:00
parent 2ef192a55b
commit 2ae4e860f6
1 changed files with 4 additions and 0 deletions

View File

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