Fix (unreported) liboverride rules from linked data disapearing.

Code cleaning up no-more-needed override data during diffing process
would systematically remove override data from linked IDs.

While this is not a critical issue in theory, it has bad consequences at
the very least on user UI/UX, and potentially can cause bugs in some
corner-cases scenarii.
This commit is contained in:
Bastien Montagne 2022-03-08 12:08:21 +01:00
parent 0df8c22c8a
commit f76f48be23
1 changed files with 6 additions and 0 deletions

View File

@ -2979,6 +2979,12 @@ bool BKE_lib_override_library_main_operations_create(Main *bmain, const bool for
id->override_library, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
}
}
else {
/* Clear 'unused' tag for un-processed IDs, otherwise e.g. linked overrides will loose their
* list of overridden properties. */
BKE_lib_override_library_properties_tag(
id->override_library, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
}
id->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH;
}
FOREACH_MAIN_ID_END;