--- /dev/null
+recent change from libpng 1.2.7 broke alpha stripping
+png_set_strip_alpha() does info_ptr->color_type &= ~PNG_COLOR_MASK_ALPHA,
+but png_do_strip_filler checks png_ptr->row_info.color_type not
+info_ptr->color_type
+
+--- libpng-1.2.7/pngread.c.orig 2004-09-12 04:19:31.000000000 +0200
++++ libpng-1.2.7/pngread.c 2004-10-13 16:22:29.000000000 +0200
+@@ -726,6 +726,10 @@
+ png_ptr->row_info.pixel_depth = png_ptr->pixel_depth;
+ png_ptr->row_info.rowbytes = PNG_ROWBYTES(png_ptr->row_info.pixel_depth,
+ png_ptr->row_info.width);
++#if defined(PNG_READ_STRIP_ALPHA_SUPPORTED)
++ if (png_ptr->transformations & PNG_STRIP_ALPHA)
++ png_ptr->row_info.color_type &= ~PNG_COLOR_MASK_ALPHA;
++#endif
+
+ if(png_ptr->row_buf[0])
+ png_read_filter_row(png_ptr, &(png_ptr->row_info),