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))
|
if (!progress(im, per, 0, (y - l), im->w, l))
|
||||||
{
|
{
|
||||||
jpeg_finish_compress(&cinfo);
|
jpeg_finish_compress(&cinfo);
|
||||||
|
jpeg_destroy_compress(&cinfo);
|
||||||
free(buf);
|
free(buf);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
return 2;
|
return 2;
|
||||||
|
|
|
@ -304,7 +304,8 @@ save(ImlibImage * im, ImlibProgressFunction progress,
|
||||||
if (setjmp(png_ptr->jmpbuf))
|
if (setjmp(png_ptr->jmpbuf))
|
||||||
{
|
{
|
||||||
fclose(f);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
png_init_io(png_ptr, f);
|
png_init_io(png_ptr, f);
|
||||||
|
@ -387,7 +388,8 @@ save(ImlibImage * im, ImlibProgressFunction progress,
|
||||||
if (data)
|
if (data)
|
||||||
free(data);
|
free(data);
|
||||||
png_write_end(png_ptr, info_ptr);
|
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);
|
fclose(f);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
@ -400,8 +402,9 @@ save(ImlibImage * im, ImlibProgressFunction progress,
|
||||||
if (data)
|
if (data)
|
||||||
free(data);
|
free(data);
|
||||||
png_write_end(png_ptr, info_ptr);
|
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);
|
fclose(f);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue