From 7a59e1eae84ea8c428945cee52e055c77c0e8463 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Fri, 11 Dec 2009 07:57:36 -0600 Subject: [PATCH] [devel] Relocated png_do_chop() to its original position in pngrtran.c The change in version 1.2.41beta08 caused transparency to be handled wrong in some 16-bit datastreams (Yusaku Sugai). --- ANNOUNCE | 3 +++ CHANGES | 3 +++ pngrtran.c | 12 ++++++------ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index a94c61e14..278ca285b 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -730,6 +730,9 @@ version 1.4.0beta107 [December 4, 2009] version 1.4.0beta108 [December 11, 2009] Removed leftover "-DPNG_CONFIGURE_LIBPNG" from contrib/pngminim/*/makefile + Relocated png_do_chop() to its original position in pngrtran.c; the + change in version 1.2.41beta08 caused transparency to be handled wrong + in some 16-bit datastreams (Yusaku Sugai). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 211d2c740..78e5e1c0f 100644 --- a/CHANGES +++ b/CHANGES @@ -2417,6 +2417,9 @@ version 1.4.0beta107 [December 4, 2009] version 1.4.0beta108 [December 11, 2009] Removed leftover "-DPNG_CONFIGURE_LIBPNG" from contrib/pngminim/*/makefile + Relocated png_do_chop() to its original position in pngrtran.c; the + change in version 1.2.41beta08 caused transparency to be handled wrong + in some 16-bit datastreams (Yusaku Sugai). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/pngrtran.c b/pngrtran.c index 9e51d3b91..31a1022f9 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * Last changed in libpng 1.4.0 [December 4, 2009] + * Last changed in libpng 1.4.0 [December 11, 2009] * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -1410,11 +1410,6 @@ png_do_read_transformations(png_structp png_ptr) png_do_gray_to_rgb(&(png_ptr->row_info), png_ptr->row_buf + 1); #endif -#ifdef PNG_READ_16_TO_8_SUPPORTED - if (png_ptr->transformations & PNG_16_TO_8) - png_do_chop(&(png_ptr->row_info), png_ptr->row_buf + 1); -#endif - #ifdef PNG_READ_BACKGROUND_SUPPORTED if ((png_ptr->transformations & PNG_BACKGROUND) && ((png_ptr->num_trans != 0 ) || @@ -1444,6 +1439,11 @@ png_do_read_transformations(png_structp png_ptr) png_ptr->gamma_shift); #endif +#ifdef PNG_READ_16_TO_8_SUPPORTED + if (png_ptr->transformations & PNG_16_TO_8) + png_do_chop(&(png_ptr->row_info), png_ptr->row_buf + 1); +#endif + #ifdef PNG_READ_DITHER_SUPPORTED if (png_ptr->transformations & PNG_DITHER) {