7 - if (setjmp(png_ptr->jmpbuf))
8 + if (setjmp(png_jmpbuf(png_ptr)))
10 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
14 - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
15 + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
17 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
23 - if (setjmp(png_ptr->jmpbuf))
24 + if (setjmp(png_jmpbuf(png_ptr)))
26 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
30 - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
31 + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
33 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
36 /* Setup Translators */
37 if (color_type == PNG_COLOR_TYPE_PALETTE)
38 png_set_expand(png_ptr);
39 + if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
40 + png_set_expand(png_ptr);
42 png_set_strip_16(png_ptr);
43 png_set_packing(png_ptr);
44 if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
49 - if (setjmp(png_ptr->jmpbuf))
50 + if (setjmp(png_jmpbuf(png_ptr)))
52 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
56 - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
57 + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
59 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
62 png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
65 - if (setjmp(png_ptr->jmpbuf))
66 + if (setjmp(png_jmpbuf(png_ptr)))
69 png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
73 png_destroy_read_struct(&png_ptr, NULL, NULL);
76 - if (setjmp(png_ptr->jmpbuf))
77 + if (setjmp(png_jmpbuf(png_ptr)))
79 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
82 - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
83 + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
85 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
88 png_read_image(png_ptr, lines);
89 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
91 - if (color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
92 + if (color_type == PNG_COLOR_TYPE_GRAY
93 + || color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
95 for (y = 0; y < *h; y++)
102 else if (color_type == PNG_COLOR_TYPE_GRAY)
104 for (y = 0; y < *h; y++)
112 for (y = 0; y < *h; y++)
116 png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
119 - if (setjmp(png_ptr->jmpbuf))
120 + if (setjmp(png_jmpbuf(png_ptr)))
123 png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
126 @@ -1981,14 +1981,13 @@
127 png_destroy_read_struct(&png_ptr, NULL, NULL);
131 - if (setjmp(png_ptr->jmpbuf))
132 + if (setjmp(png_jmpbuf(png_ptr)))
134 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
138 - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
139 + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
141 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);