forked from old/legacy-imlib2
oops and a leak in the png loader.. and fix a potential leak in the jpeg
saver for when things go awry. SVN revision: 4308
This commit is contained in:
parent
22c26c8c2b
commit
76b69f298e
|
@ -336,6 +336,7 @@ save(ImlibImage * im, ImlibProgressFunction progress,
|
|||
if (!progress(im, per, 0, (y - l), im->w, l))
|
||||
{
|
||||
jpeg_finish_compress(&cinfo);
|
||||
jpeg_destroy_compress(&cinfo);
|
||||
free(buf);
|
||||
fclose(f);
|
||||
return 2;
|
||||
|
|
|
@ -304,7 +304,8 @@ save(ImlibImage * im, ImlibProgressFunction progress,
|
|||
if (setjmp(png_ptr->jmpbuf))
|
||||
{
|
||||
fclose(f);
|
||||
png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
|
||||
png_destroy_write_struct(&png_ptr, (png_infopp) &info_ptr);
|
||||
png_destroy_info_struct(png_ptr, (png_infopp) &info_ptr);
|
||||
return 0;
|
||||
}
|
||||
png_init_io(png_ptr, f);
|
||||
|
@ -387,7 +388,8 @@ save(ImlibImage * im, ImlibProgressFunction progress,
|
|||
if (data)
|
||||
free(data);
|
||||
png_write_end(png_ptr, info_ptr);
|
||||
png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
|
||||
png_destroy_write_struct(&png_ptr, (png_infopp) &info_ptr);
|
||||
png_destroy_info_struct(png_ptr, (png_infopp) &info_ptr);
|
||||
fclose(f);
|
||||
return 2;
|
||||
}
|
||||
|
@ -400,7 +402,8 @@ save(ImlibImage * im, ImlibProgressFunction progress,
|
|||
if (data)
|
||||
free(data);
|
||||
png_write_end(png_ptr, info_ptr);
|
||||
png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
|
||||
png_destroy_write_struct(&png_ptr, (png_infopp) &info_ptr);
|
||||
png_destroy_info_struct(png_ptr, (png_infopp) &info_ptr);
|
||||
|
||||
fclose(f);
|
||||
return 1;
|
||||
|
|
Loading…
Reference in New Issue