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.
This commit is contained in:
Campbell Barton 2010-11-17 04:02:19 +00:00
parent 02bbce8b6d
commit f791d74f10
2 changed files with 13 additions and 20 deletions

@ -235,19 +235,12 @@ static int dumptarga(struct ImBuf * ibuf, FILE * file)
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;

@ -2855,19 +2855,19 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr
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");
}
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);
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);
}
}
}