From 6a6d79fc00c242eeca23ffdf40d64367b13ecd2a Mon Sep 17 00:00:00 2001 From: John Bowler Date: Sat, 12 Feb 2011 08:56:40 -0600 Subject: [PATCH] [devel] turn on interlace handling in png_read_png --- pngread.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pngread.c b/pngread.c index 8bc67d978..2e365cd8d 100644 --- a/pngread.c +++ b/pngread.c @@ -1311,7 +1311,7 @@ png_read_png(png_structp png_ptr, png_infop info_ptr, { int row; - if (png_ptr == NULL) + if (png_ptr == NULL || info_ptr == NULL) return; /* png_read_info() gives us all of the information from the @@ -1426,6 +1426,11 @@ png_read_png(png_structp png_ptr, png_infop info_ptr, /* We don't handle adding filler bytes */ + /* We use png_read_image and rely on that for interlace handling, but we also + * call png_read_update_info therefore must turn on interlace handling now: + */ + (void)png_set_interlace_handling(png_ptr); + /* Optional call to gamma correct and add the background to the palette * and update info structure. REQUIRED if you are expecting libpng to * update the palette for you (i.e., you selected such a transform above).