forked from enlightenment/efl
fix bug in jpeg saver.
it override error handler before creation. modify override error hanler after creation SVN revision: 74153
This commit is contained in:
parent
e7f2bdd37a
commit
d34502b33f
|
@ -897,3 +897,7 @@
|
||||||
never have done this. This broke the general logic of size
|
never have done this. This broke the general logic of size
|
||||||
hint handling.
|
hint handling.
|
||||||
|
|
||||||
|
2012-07-19 Jiyoun Park(jypark)
|
||||||
|
|
||||||
|
* Fix jpeg save bug related with error handler
|
||||||
|
|
||||||
|
|
|
@ -51,8 +51,8 @@ _JPEGErrorHandler2(j_common_ptr cinfo __UNUSED__, int msg_level __UNUSED__)
|
||||||
static int
|
static int
|
||||||
save_image_jpeg(RGBA_Image *im, const char *file, int quality)
|
save_image_jpeg(RGBA_Image *im, const char *file, int quality)
|
||||||
{
|
{
|
||||||
struct _JPEG_error_mgr jerr;
|
|
||||||
struct jpeg_compress_struct cinfo;
|
struct jpeg_compress_struct cinfo;
|
||||||
|
struct _JPEG_error_mgr jerr;
|
||||||
FILE *f;
|
FILE *f;
|
||||||
DATA8 *buf;
|
DATA8 *buf;
|
||||||
DATA32 *ptr;
|
DATA32 *ptr;
|
||||||
|
@ -68,10 +68,11 @@ save_image_jpeg(RGBA_Image *im, const char *file, int quality)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
memset(&cinfo, 0, sizeof(cinfo));
|
||||||
|
cinfo.err = jpeg_std_error(&(jerr.pub));
|
||||||
jerr.pub.error_exit = _JPEGFatalErrorHandler;
|
jerr.pub.error_exit = _JPEGFatalErrorHandler;
|
||||||
jerr.pub.emit_message = _JPEGErrorHandler2;
|
jerr.pub.emit_message = _JPEGErrorHandler2;
|
||||||
jerr.pub.output_message = _JPEGErrorHandler;
|
jerr.pub.output_message = _JPEGErrorHandler;
|
||||||
cinfo.err = jpeg_std_error(&(jerr.pub));
|
|
||||||
if (sigsetjmp(jerr.setjmp_buffer, 1))
|
if (sigsetjmp(jerr.setjmp_buffer, 1))
|
||||||
{
|
{
|
||||||
jpeg_destroy_compress(&cinfo);
|
jpeg_destroy_compress(&cinfo);
|
||||||
|
|
Loading…
Reference in New Issue