From e253fb2143e2a8f1de331d17343d44671ab6e440 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 25 Nov 2021 14:50:34 +0100 Subject: [PATCH] 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. --- source/blender/windowmanager/intern/wm_files_link.c | 5 +++++ 1 file changed, 5 insertions(+) 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--) {