[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33119] trunk/blender/source/blender: writing single images from a render (own commit r33104), wasn' t checking if the render was cancelled which would crash when writing the image .

Campbell Barton ideasman42 at gmail.com
Wed Nov 17 05:02:21 CET 2010


Revision: 33119
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33119
Author:   campbellbarton
Date:     2010-11-17 05:02:19 +0100 (Wed, 17 Nov 2010)

Log Message:
-----------
writing single images from a render (own commit r33104), wasn't checking if the render was cancelled which would crash when writing the image.

also remove paranoid checks for writing TAGA, Other formats - BMP, JPEG, Iris don't do this.

Modified Paths:
--------------
    trunk/blender/source/blender/imbuf/intern/targa.c
    trunk/blender/source/blender/render/intern/source/pipeline.c

Modified: trunk/blender/source/blender/imbuf/intern/targa.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/targa.c	2010-11-17 03:26:50 UTC (rev 33118)
+++ trunk/blender/source/blender/imbuf/intern/targa.c	2010-11-17 04:02:19 UTC (rev 33119)
@@ -235,19 +235,12 @@
 
 int imb_savetarga(struct ImBuf * ibuf, char *name, int flags)
 {
-	char buf[20];
+	char buf[20]= {0};
 	FILE *fildes;
 	short ok = 0;
 	
 	(void)flags; /* unused */
 
-	if (ibuf == 0) return (0);
-	if (ibuf->rect == 0) return (0);
-
-	memset(buf,0,sizeof(buf));
-
-	/* buf[0] = 0;  length string */
-
 	buf[16] = (ibuf->depth + 0x7 ) & ~0x7;
 	if (ibuf->depth > 8 ){
 		buf[2] = 10;

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c	2010-11-17 03:26:50 UTC (rev 33118)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c	2010-11-17 04:02:19 UTC (rev 33119)
@@ -2855,20 +2855,20 @@
 	if(render_initialize_from_main(re, bmain, scene, srl, lay, 0, 0)) {
 		MEM_reset_peak_memory();
 		do_render_all_options(re);
-	}
 
-	if(write_still) {
-		if(BKE_imtype_is_movie(scene->r.imtype)) {
-			/* operator checks this but incase its called from elsewhere */
-			printf("Error: cant write single images with a movie format!\n");
+		if(write_still && !G.afbreek) {
+			if(BKE_imtype_is_movie(scene->r.imtype)) {
+				/* operator checks this but incase its called from elsewhere */
+				printf("Error: cant write single images with a movie format!\n");
+			}
+			else {
+				char name[FILE_MAX];
+				BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype, scene->r.scemode & R_EXTENSION, FALSE);
+	
+				/* reports only used for Movie */
+				do_write_image_or_movie(re, scene, NULL, NULL, name);
+			}
 		}
-		else {
-			char name[FILE_MAX];
-			BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype, scene->r.scemode & R_EXTENSION, FALSE);
-
-			/* reports only used for Movie */
-			do_write_image_or_movie(re, scene, NULL, NULL, name);
-		}
 	}
 
 	/* UGLY WARNING */





More information about the Bf-blender-cvs mailing list