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-05-07 17:14:39 +0300
committerBastien Montagne <bastien@blender.org>2021-05-07 17:14:39 +0300
commit8e3a73bf811adec7859bfee59625a6860779ba8b (patch)
tree583567a7b1d2ef81c1916be5f43e42306f77c52d /source/blender/blenkernel/intern/lib_override.c
parentbcfdbbf4b4b88f63593998c2cffa0a0b12b93053 (diff)
parent8241678e6ec6cd84f097d892a000cf214b218957 (diff)
Merge branch 'blender-v2.93-release'
Diffstat (limited to 'source/blender/blenkernel/intern/lib_override.c')
-rw-r--r--source/blender/blenkernel/intern/lib_override.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c
index df9e26a4052..43a76c27b0f 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -908,7 +908,11 @@ bool BKE_lib_override_library_resync(Main *bmain,
* override hierarchy anymore. This will ensure they get properly deleted at the end of this
* function. */
if (!ID_IS_LINKED(id) && ID_IS_OVERRIDE_LIBRARY_REAL(id) &&
- (id->override_library->reference->tag & LIB_TAG_MISSING) != 0) {
+ (id->override_library->reference->tag & LIB_TAG_MISSING) != 0 &&
+ /* Unfortunately deleting obdata means deleting their objects too. Since there is no
+ * guarantee that a valid override object using an obsolete override obdata gets properly
+ * updated, we ignore those here for now. In practice this should not be a big issue. */
+ !OB_DATA_SUPPORT_ID(GS(id->name))) {
id->tag |= LIB_TAG_MISSING;
}