Index: source/blender/blenlib/intern/BLI_bfile.c =================================================================== --- source/blender/blenlib/intern/BLI_bfile.c (revision 26096) +++ source/blender/blenlib/intern/BLI_bfile.c (working copy) @@ -225,7 +225,7 @@ #define LAST_SESSION_FILE "%HOME%\\Blender\\last-session FIXME FIXME FIXME" #define ENVIRONMENT_FILE "FIXME" #define SHARED_DIRECTORY "FIXME TOO" -#elif defined(OSX) +#elif defined(__APPLE__) /* Not needed, replaced by cocoa fetching functions => handles exotic/network systems */ #define LAST_SESSION_FILE "${HOME}/Library/Application Support/Blender/last-session" #define ENVIRONMENT_FILE "${HOME}/Library/Application Support/Blender/${BLENDER_VERSION}/environment" #define SHARED_DIRECTORY "/Library/Application Support/Blender" @@ -249,10 +249,19 @@ if(BLI_exist(temp)) { BLI_setenv_if_new("BLENDER_SHARE", dirname(bprogname)); } else { +#if defined(__APPLE__) && defined(GHOST_COCOA) + BLI_setenv_if_new("BLENDER_SHARE", BLI_cocoa_getBasePath(BasePath_BlenderShared)); +#else BLI_setenv_if_new("BLENDER_SHARE", SHARED_DIRECTORY); +#endif } +#if defined(__APPLE__) && defined(GHOST_COCOA) + strcpy(file,BLI_cocoa_getBasePath(BasePath_BlenderUser)); + strcat(file, "/last-session"); +#else expand_envvars(LAST_SESSION_FILE, file); +#endif fp = fopen(file, "r"); /* 1st line, read previous version */ if (fp && (fscanf(fp, "%3c\n", temp) == 1)) { @@ -283,7 +292,13 @@ } /* Load vars from user and system files */ +#if defined(__APPLE__) && defined(GHOST_COCOA) + strcpy(temp,BLI_cocoa_getBasePath(BasePath_BlenderUser)); + strcat(temp, "/${BLENDER_VERSION}/environment"); + expand_envvars(temp, file); +#else expand_envvars(ENVIRONMENT_FILE, file); +#endif init_vars_from_file(file); sprintf(temp, "/%d/environment", BLENDER_VERSION); BLI_make_file_string("/", file, getenv("BLENDER_SHARE"), temp); @@ -507,11 +522,16 @@ char template[MAXPATHLEN]; char* tempdir; +#if defined(__APPLE__) && defined(GHOST_COCOA) + if (BLI_cocoa_getBasePath(BasePath_Temporary)) { + sprintf(template, "%s/blender-XXXXXX", BLI_cocoa_getBasePath(BasePath_Temporary)); + } else +#endif if(getenv("TMPDIR")) { sprintf(template, "%s/blender-XXXXXX", getenv("TMPDIR")); } else { sprintf(template, "/tmp/blender-XXXXXX"); -// MacOSX NSTemporaryDirectory and WIN32 ??? +// WIN32 ??? } tempdir = mkdtemp(template); BLI_setenv("BLENDER_TEMP", tempdir);