Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Oeser <info@graphics-engineer.com>2020-10-13 12:43:32 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2020-10-13 15:37:17 +0300
commit16289274ed6fdae83a3fbe400698d5d40c7a5d6c (patch)
tree67ee502799dcabf869b02231e70bfd77c0b24f1b /source/blender/windowmanager/intern/wm_files_link.c
parent79875e37fe281c1988a1160978ab904bd42a336a (diff)
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
Diffstat (limited to 'source/blender/windowmanager/intern/wm_files_link.c')
-rw-r--r--source/blender/windowmanager/intern/wm_files_link.c9
1 files changed, 9 insertions, 0 deletions
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);