diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index 2e56ed9d247..a2bd8eeea95 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -2526,7 +2526,9 @@ void BKE_library_filepath_set(Library *lib, const char *filepath) * outliner, and its not really supported but allow from here for now * since making local could cause this to be directly linked - campbell */ - const char *basepath = lib->parent ? lib->parent->filepath : G.main->name; + /* Never make paths relative to parent lib - reading code (blenloader) always set *all* lib->name relative to + * current G.main, not to their parent for indirectly linked ones. */ + const char *basepath = G.main->name; BLI_path_abs(lib->filepath, basepath); } } diff --git a/source/blender/blenloader/intern/blend_validate.c b/source/blender/blenloader/intern/blend_validate.c index d155fcfaa0d..0963fdd78e0 100644 --- a/source/blender/blenloader/intern/blend_validate.c +++ b/source/blender/blenloader/intern/blend_validate.c @@ -85,6 +85,8 @@ bool BLO_main_validate_libraries(struct Main *bmain, struct ReportList *reports) BlendHandle *bh = BLO_blendhandle_from_file(curlib->filepath, reports); if (bh == NULL) { + BKE_reportf(reports, RPT_ERROR, + "Library ID %s not found at expected path %s!\n", curlib->id.name, curlib->filepath); continue; }