[Bf-blender-cvs] [e253fb2143e] blender-v3.0-release: Fix T93353: Reload Library used as source for liboverride loses Constraints.

Bastien Montagne noreply at git.blender.org
Thu Nov 25 14:57:24 CET 2021


Commit: e253fb2143e2a8f1de331d17343d44671ab6e440
Author: Bastien Montagne
Date:   Thu Nov 25 14:50:34 2021 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rBe253fb2143e2a8f1de331d17343d44671ab6e440

Fix T93353: Reload Library used as source for liboverride loses Constraints.

Liboverride properties and operations list need to be fully up-to-date
before libraries are reloaded, otherwise re-applying those liboverrides
after linked data is reloaded may miss some changes.

===================================================================

M	source/blender/windowmanager/intern/wm_files_link.c

===================================================================

diff --git a/source/blender/windowmanager/intern/wm_files_link.c b/source/blender/windowmanager/intern/wm_files_link.c
index b45cf765a75..c8ccaf8a788 100644
--- a/source/blender/windowmanager/intern/wm_files_link.c
+++ b/source/blender/windowmanager/intern/wm_files_link.c
@@ -1541,6 +1541,11 @@ static void lib_relocate_do(bContext *C,
   Scene *scene = CTX_data_scene(C);
   ViewLayer *view_layer = CTX_data_view_layer(C);
 
+  /* All override rules need to be up to date, since there will be no do_version here, otherwise
+   * older, now-invalid rules might be applied and likely fail, or some changes might be missing,
+   * etc. See T93353. */
+  BKE_lib_override_library_main_operations_create(bmain, true);
+
   /* Remove all IDs to be reloaded from Main. */
   lba_idx = set_listbasepointers(bmain, lbarray);
   while (lba_idx--) {



More information about the Bf-blender-cvs mailing list