diff options
Diffstat (limited to 'media-gfx/autotrace/files/autotrace-0.31.1-libpng-1.5.patch')
-rw-r--r-- | media-gfx/autotrace/files/autotrace-0.31.1-libpng-1.5.patch | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/media-gfx/autotrace/files/autotrace-0.31.1-libpng-1.5.patch b/media-gfx/autotrace/files/autotrace-0.31.1-libpng-1.5.patch new file mode 100644 index 000000000000..7252b79aaf1a --- /dev/null +++ b/media-gfx/autotrace/files/autotrace-0.31.1-libpng-1.5.patch @@ -0,0 +1,64 @@ +http://sourceforge.net/mailarchive/forum.php?thread_name=01e601cbc22e%24f45d7200%24dd185600%24%40acm.org&forum_name=png-mng-implement + +$NetBSD$ + +Fix build with png-1.5. + +--- input-png.c.orig 2002-10-10 20:44:14.000000000 +0000 ++++ input-png.c +@@ -42,17 +42,17 @@ static png_bytep * read_png(png_structp + + static void handle_warning(png_structp png, const at_string message) { + LOG1("PNG warning: %s", message); +- at_exception_warning((at_exception_type *)png->error_ptr, ++ at_exception_warning((at_exception_type *)png_get_error_ptr(png), + message); +- /* at_exception_fatal((at_exception_type *)at_png->error_ptr, ++ /* at_exception_fatal((at_exception_type *)png_get_error_ptr(at_png), + "PNG warning"); */ + } + + static void handle_error(png_structp png, const at_string message) { + LOG1("PNG error: %s", message); +- at_exception_fatal((at_exception_type *)png->error_ptr, ++ at_exception_fatal((at_exception_type *)png_get_error_ptr(png), + message); +- /* at_exception_fatal((at_exception_type *)at_png->error_ptr, ++ /* at_exception_fatal((at_exception_type *)png_get_error_ptr(at_png), + "PNG error"); */ + + } +@@ -157,8 +157,8 @@ read_png(png_structp png_ptr, png_infop + + png_set_strip_16(png_ptr); + png_set_packing(png_ptr); +- if ((png_ptr->bit_depth < 8) || +- (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE) || ++ if ((png_get_bit_depth(png_ptr, info_ptr) < 8) || ++ (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) || + (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))) + png_set_expand(png_ptr); + +@@ -181,20 +181,10 @@ read_png(png_structp png_ptr, png_infop + PNG_BACKGROUND_GAMMA_FILE, 1, 1.0); + } else + png_set_strip_alpha(png_ptr); ++ png_set_interlace_handling(png_ptr); + png_read_update_info(png_ptr, info_ptr); + +- +- info_ptr->row_pointers = (png_bytepp)png_malloc(png_ptr, +- info_ptr->height * sizeof(png_bytep)); +-#ifdef PNG_FREE_ME_SUPPORTED +- info_ptr->free_me |= PNG_FREE_ROWS; +-#endif +- for (row = 0; row < (int)info_ptr->height; row++) +- info_ptr->row_pointers[row] = (png_bytep)png_malloc(png_ptr, +- png_get_rowbytes(png_ptr, info_ptr)); +- +- png_read_image(png_ptr, info_ptr->row_pointers); +- info_ptr->valid |= PNG_INFO_IDAT; ++ png_read_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, NULL); + png_read_end(png_ptr, info_ptr); + return png_get_rows(png_ptr, info_ptr); + } |