Sophie

Sophie

distrib > Mandriva > 2008.0 > x86_64 > by-pkgid > 8c1a96618c5f76e0d4006fa5d8b85d82 > files > 23

blender-2.45-2.1mdv2008.0.src.rpm

diff -urN blender-2.36.orig/source/blender/blenkernel/intern/blender.c blender-2.36/source/blender/blenkernel/intern/blender.c
--- blender-2.36.orig/source/blender/blenkernel/intern/blender.c	2005-03-11 01:54:56.000000000 +0900
+++ blender-2.36/source/blender/blenkernel/intern/blender.c	2005-03-11 01:57:26.000000000 +0900
@@ -647,7 +647,7 @@
 		
 	BLI_make_file_string("/", str, U.tempdir, "quit.blend");
 
-	file = open(str,O_BINARY+O_WRONLY+O_CREAT+O_TRUNC, 0666);
+	file = open(str,O_BINARY+O_WRONLY+O_CREAT+O_TRUNC+O_EXCL, 0666);
 	if(file == -1) {
 		printf("Unable to save %s\n", str);
 		return;
diff -up blender-2.45/source/blender/src/usiblender.c.cve3 blender-2.45/source/blender/src/usiblender.c
--- blender-2.45/source/blender/src/usiblender.c.cve3	2007-09-18 06:58:42.000000000 +0200
+++ blender-2.45/source/blender/src/usiblender.c	2008-05-07 17:32:10.000000000 +0200
@@ -172,10 +172,12 @@ static void init_userdef_file(void)
 		U.tb_rightmouse= 5;
 	}
 	if(U.mixbufsize==0) U.mixbufsize= 2048;
-	if (BLI_streq(U.tempdir, "/")) {
+	if (BLI_streq(U.tempdir, "/") || BLI_streq(U.tempdir, "/tmp/")) {
 		char *tmp= getenv("TEMP");
+                char *home= getenv("HOME");
 		
-		strcpy(U.tempdir, tmp?tmp:"/tmp/");
+		strcpy(U.tempdir, tmp?tmp:home);
+                if (!tmp) strcat(U.tempdir, "/.blender/");
 	}
 	if (U.savetime <= 0) {
 		U.savetime = 1;