From: jypark Date: Thu, 19 Jul 2012 03:04:47 +0000 (+0000) Subject: fix bug in jpeg saver. X-Git-Tag: submit/trunk/20120815.174732~74 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c0f19f23bc41c195405c830e2a602d62a8cdcd31;p=profile%2Fivi%2Fevas.git fix bug in jpeg saver. it override error handler before creation. modify override error hanler after creation git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@74153 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/ChangeLog b/ChangeLog index 284761a..4f3279d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -897,3 +897,7 @@ never have done this. This broke the general logic of size hint handling. +2012-07-19 Jiyoun Park(jypark) + + * Fix jpeg save bug related with error handler + diff --git a/src/modules/savers/jpeg/evas_image_save_jpeg.c b/src/modules/savers/jpeg/evas_image_save_jpeg.c index 247f0af..c01dbdd 100644 --- a/src/modules/savers/jpeg/evas_image_save_jpeg.c +++ b/src/modules/savers/jpeg/evas_image_save_jpeg.c @@ -51,8 +51,8 @@ _JPEGErrorHandler2(j_common_ptr cinfo __UNUSED__, int msg_level __UNUSED__) static int save_image_jpeg(RGBA_Image *im, const char *file, int quality) { - struct _JPEG_error_mgr jerr; struct jpeg_compress_struct cinfo; + struct _JPEG_error_mgr jerr; FILE *f; DATA8 *buf; DATA32 *ptr; @@ -68,10 +68,11 @@ save_image_jpeg(RGBA_Image *im, const char *file, int quality) { return 0; } + memset(&cinfo, 0, sizeof(cinfo)); + cinfo.err = jpeg_std_error(&(jerr.pub)); jerr.pub.error_exit = _JPEGFatalErrorHandler; jerr.pub.emit_message = _JPEGErrorHandler2; jerr.pub.output_message = _JPEGErrorHandler; - cinfo.err = jpeg_std_error(&(jerr.pub)); if (sigsetjmp(jerr.setjmp_buffer, 1)) { jpeg_destroy_compress(&cinfo);