[Bf-blender-cvs] [3f9a6f9] id-remap: Unlock around core of linking code in reload/relocate context too, for now.
Bastien Montagne
noreply at git.blender.org
Mon Sep 21 21:58:45 CEST 2015
Commit: 3f9a6f9feac9e95efd80b2e96991d7bc47256a0b
Author: Bastien Montagne
Date: Mon Sep 21 20:40:46 2015 +0200
Branches: id-remap
https://developer.blender.org/rB3f9a6f9feac9e95efd80b2e96991d7bc47256a0b
Unlock around core of linking code in reload/relocate context too, for now.
===================================================================
M source/blender/windowmanager/intern/wm_operators.c
===================================================================
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 4694e67..3eef6e5 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -3083,9 +3083,14 @@ static int wm_lib_relocate_exec_do(bContext *C, wmOperator *op, const bool reloa
BKE_main_id_flag_all(bmain, LIB_PRE_EXISTING, true);
+ /* XXX For now, locking is not reentrant so it's not safe to call core linking code with locked Main. */
+ BKE_main_unlock(bmain);
+
/* We do not want any instanciation here! */
wm_link_do(lapp_data, op->reports, bmain, NULL, NULL);
+ BKE_main_lock(bmain);
+
/* We add back old id to bmain.
* We need to do this in a first, separated loop, otherwise some of those may not be handled by
* ID remapping, which means they would still reference old data to be deleted... */
More information about the Bf-blender-cvs
mailing list