Index: blender/source/blender/blenlib/intern/storage.c =================================================================== --- blender/source/blender/blenlib/intern/storage.c (revisión: 28070) +++ blender/source/blender/blenlib/intern/storage.c (copia de trabajo) @@ -212,7 +212,24 @@ strcpy(buf,relname); rellen=strlen(relname); + +#ifdef WIN32 + // If requested folder is a reparse point (Win softlink) get target as current directory + if (GetFileAttributes(dirname) & FILE_ATTRIBUTE_REPARSE_POINT){ + HANDLE *hFile = CreateFile(dirname, 0, FILE_SHARE_READ | + FILE_SHARE_WRITE, 0, OPEN_EXISTING, + FILE_FLAG_BACKUP_SEMANTICS, 0); + if (hFile != INVALID_HANDLE_VALUE) + { + GetFinalPathNameByHandle(hFile,dirname,MAX_PATH,FILE_NAME_OPENED); + strcpy(dirname, dirname + 4); + sprintf(dirname, "%s\\",dirname); + } + CloseHandle(hFile); + } +#endif + if (rellen){ buf[rellen]='/'; rellen++;