[Bf-blender-cvs] [bbfa6a92cf1] master: Fix T91987: Linking overrides does not apply overrides rules.
Bastien Montagne
noreply at git.blender.org
Wed Oct 6 16:53:26 CEST 2021
Commit: bbfa6a92cf1c7581a09712401f50c0f0fc02240d
Author: Bastien Montagne
Date: Wed Oct 6 16:41:47 2021 +0200
Branches: master
https://developer.blender.org/rBbbfa6a92cf1c7581a09712401f50c0f0fc02240d
Fix T91987: Linking overrides does not apply overrides rules.
Just a matter of calling `BKE_lib_override_library_main_update` in
`library_link_end`.
===================================================================
M source/blender/blenloader/intern/readfile.c
===================================================================
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 3ee5e41bf1f..491322e06df 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5040,7 +5040,6 @@ static void library_link_end(Main *mainl,
add_main_to_main(mainvar, main_newid);
}
- BKE_main_free(main_newid);
blo_join_main((*fd)->mainlist);
mainvar = (*fd)->mainlist->first;
MEM_freeN((*fd)->mainlist);
@@ -5054,6 +5053,15 @@ static void library_link_end(Main *mainl,
placeholders_ensure_valid(mainvar);
+ /* Apply overrides of newly linked data if needed. Already existing IDs need to split out, to
+ * avoid re-applying their own overrides. */
+ BLI_assert(BKE_main_is_empty(main_newid));
+ split_main_newid(mainvar, main_newid);
+ BKE_lib_override_library_main_validate(main_newid, (*fd)->reports->reports);
+ BKE_lib_override_library_main_update(main_newid);
+ add_main_to_main(mainvar, main_newid);
+ BKE_main_free(main_newid);
+
BKE_main_id_tag_all(mainvar, LIB_TAG_NEW, false);
/* Make all relative paths, relative to the open blend file. */
More information about the Bf-blender-cvs
mailing list