[Bf-blender-cvs] [16289274ed6] master: Fix T81656: Crash relocating a linked library into the current .blend
Philipp Oeser
noreply at git.blender.org
Tue Oct 13 14:43:59 CEST 2020
Commit: 16289274ed6fdae83a3fbe400698d5d40c7a5d6c
Author: Philipp Oeser
Date: Tue Oct 13 11:43:32 2020 +0200
Branches: master
https://developer.blender.org/rB16289274ed6fdae83a3fbe400698d5d40c7a5d6c
Fix T81656: Crash relocating a linked library into the current .blend
A .blend file cannot use itself as a library.
This is prevented when linking manually, but was still possible when
relocating, which is now prevented.
Maniphest Tasks: T81656
Differential Revision: https://developer.blender.org/D9191
===================================================================
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 860c1d40dd9..e97f4ed0fa6 100644
--- a/source/blender/windowmanager/intern/wm_files_link.c
+++ b/source/blender/windowmanager/intern/wm_files_link.c
@@ -1057,6 +1057,15 @@ static int wm_lib_relocate_exec_do(bContext *C, wmOperator *op, bool do_reload)
return OPERATOR_CANCELLED;
}
+ if (BLI_path_cmp(BKE_main_blendfile_path(bmain), path) == 0) {
+ BKE_reportf(op->reports,
+ RPT_ERROR_INVALID_INPUT,
+ "Cannot relocate library '%s' to current blend file '%s'",
+ lib->id.name,
+ path);
+ return OPERATOR_CANCELLED;
+ }
+
if (BLI_path_cmp(lib->filepath_abs, path) == 0) {
#ifdef PRINT_DEBUG
printf("We are supposed to reload '%s' lib (%d)...\n", lib->filepath, lib->id.us);
More information about the Bf-blender-cvs
mailing list