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
path: root/source
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2022-03-08 14:08:21 +0300
committerBastien Montagne <bastien@blender.org>2022-03-08 14:08:21 +0300
commitf76f48be23e04dbbbe313e428636cfcbcf2be59c (patch)
treeca5a6238688918b96754a02bf67d39522619e37c /source
parent0df8c22c8a369e8dd2d7ad6653556e622f98471b (diff)
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.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/lib_override.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c
index 6a0f3bb5611..392af2c9f5b 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -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;