Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 262653 Details for
Bug 355091
dev-tex/luatex-0.65.0: compilation fails with media-libs/libpng-1.5.x
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
luatex-0.65.0-libpng15.patch
luatex-0.65.0-libpng15.patch (text/plain), 21.96 KB, created by
Lars Wendler (Polynomial-C) (RETIRED)
on 2011-02-15 20:26:26 UTC
(
hide
)
Description:
luatex-0.65.0-libpng15.patch
Filename:
MIME Type:
Creator:
Lars Wendler (Polynomial-C) (RETIRED)
Created:
2011-02-15 20:26:26 UTC
Size:
21.96 KB
patch
obsolete
>$NetBSD: patch-ad,v 1.1 2011/01/17 10:33:43 wiz Exp $ > >Fix build with png-1.5 from upstream SVN. >http://foundry.supelec.fr/gf/project/luatex/scmsvn/?action=browse&path=%2F&view=rev&revision=4045 >Further additional changes manually; ->transformations part >commented out on recommendation by John Bowler. > >--- texk/web2c/luatexdir/image/writepng.w.orig 2010-12-13 13:41:15.000000000 +0000 >+++ texk/web2c/luatexdir/image/writepng.w >@@ -67,7 +67,7 @@ void read_png_info(PDF pdf, image_dict * > if ((info_p = png_create_info_struct(png_p)) == NULL) > pdftex_fail("libpng: png_create_info_struct() failed"); > img_png_info_ptr(idict) = info_p; >- if (setjmp(png_p->jmpbuf)) >+ if (setjmp(png_jmpbuf(png_p))) > pdftex_fail("libpng: internal error"); > png_init_io(png_p, img_file(idict)); > png_read_info(png_p, info_p); >@@ -76,12 +76,12 @@ void read_png_info(PDF pdf, image_dict * > png_set_tRNS_to_alpha(png_p); > } > /* alpha channel support */ >- if (pdf->minor_version < 4 && png_p->color_type | PNG_COLOR_MASK_ALPHA) >+ if (pdf->minor_version < 4 && png_get_color_type (png_p, info_p) | PNG_COLOR_MASK_ALPHA) > png_set_strip_alpha(png_p); > /* 16bit depth support */ > if (pdf->minor_version < 5) > pdf->image_hicolor = 0; >- if ((info_p->bit_depth == 16) && (pdf->image_hicolor == 0)) >+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor == 0)) > png_set_strip_16(png_p); > /* gamma support */ > if (pdf->image_apply_gamma) { >@@ -94,15 +94,15 @@ void read_png_info(PDF pdf, image_dict * > /* reset structure */ > png_read_update_info(png_p, info_p); > /* resolution support */ >- img_xsize(idict) = (int) info_p->width; >- img_ysize(idict) = (int) info_p->height; >- if (info_p->valid & PNG_INFO_pHYs) { >+ img_xsize(idict) = (int) png_get_image_width (png_p, info_p); >+ img_ysize(idict) = (int) png_get_image_height (png_p, info_p); >+ if (png_get_valid(png_p, info_p, PNG_INFO_pHYs)) { > img_xres(idict) = > round(0.0254 * (double) png_get_x_pixels_per_meter(png_p, info_p)); > img_yres(idict) = > round(0.0254 * (double) png_get_y_pixels_per_meter(png_p, info_p)); > } >- switch (info_p->color_type) { >+ switch (png_get_color_type (png_p, info_p)) { > case PNG_COLOR_TYPE_PALETTE: > img_procset(idict) |= PROCSET_IMAGE_C | PROCSET_IMAGE_I; > break; >@@ -115,9 +115,9 @@ void read_png_info(PDF pdf, image_dict * > img_procset(idict) |= PROCSET_IMAGE_C; > break; > default: >- pdftex_fail("unsupported type of color_type <%i>", info_p->color_type); >+ pdftex_fail("unsupported type of color_type <%i>", (int)png_get_color_type (png_p, info_p)); > } >- img_colordepth(idict) = info_p->bit_depth; >+ img_colordepth(idict) = png_get_bit_depth (png_p, info_p); > if (readtype == IMG_CLOSEINBETWEEN) > close_and_cleanup_png(idict); > } >@@ -142,10 +142,10 @@ void read_png_info(PDF pdf, image_dict * > #define write_simple_pixel(r) pdf_quick_out(pdf,*r++) > > #define write_noninterlaced(outmac) \ >- for (i = 0; i < (int)info_p->height; i++) { \ >+ for (i = 0; i < (int)png_get_image_height (png_p, info_p); i++) { \ > png_read_row(png_p, row, NULL); \ > r = row; \ >- k = (int)info_p->rowbytes; \ >+ k = (int)png_get_rowbytes (png_p, info_p); \ > while(k > 0) { \ > l = (k > pdf->buf_size)? pdf->buf_size : k; \ > pdf_room(pdf,l); \ >@@ -157,9 +157,9 @@ void read_png_info(PDF pdf, image_dict * > } > > #define write_interlaced(outmac) \ >- for (i = 0; i < (int)info_p->height; i++) { \ >+ for (i = 0; i < (int)png_get_image_height (png_p, info_p); i++) { \ > row = rows[i]; \ >- k = (int)info_p->rowbytes; \ >+ k = (int)png_get_rowbytes (png_p, info_p); \ > while(k > 0) { \ > l = (k > pdf->buf_size)?pdf->buf_size: k;\ > pdf_room(pdf,l); \ >@@ -179,25 +179,30 @@ static void write_png_palette(PDF pdf, i > png_infop info_p = img_png_info_ptr(idict); > png_bytep row, r, *rows; > int palette_objnum = 0; >+ png_colorp palette; >+ int num_palette; >+ >+ png_get_PLTE(png_p, info_p, &palette, &num_palette); >+ > if (img_colorspace(idict) != 0) { > pdf_printf(pdf, "%i 0 R\n", (int) img_colorspace(idict)); > } else { > palette_objnum = pdf_create_obj(pdf, obj_type_others, 0); > pdf_printf(pdf, "[/Indexed /DeviceRGB %i %i 0 R]\n", >- (int) (info_p->num_palette - 1), (int) palette_objnum); >+ num_palette - 1, (int) palette_objnum); > } > pdf_begin_stream(pdf); >- if (info_p->interlace_type == PNG_INTERLACE_NONE) { >- row = xtalloc(info_p->rowbytes, png_byte); >+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { >+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); > write_noninterlaced(write_simple_pixel(r)); > xfree(row); > } else { >- if (info_p->height * info_p->rowbytes >= 10240000L) >+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) > pdftex_warn > ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); >- rows = xtalloc(info_p->height, png_bytep); >- for (i = 0; (unsigned) i < info_p->height; i++) >- rows[i] = xtalloc(info_p->rowbytes, png_byte); >+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); >+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) >+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); > png_read_image(png_p, rows); > write_interlaced(write_simple_pixel(row)); > xfree(rows); >@@ -206,11 +211,11 @@ static void write_png_palette(PDF pdf, i > if (palette_objnum > 0) { > pdf_begin_dict(pdf, palette_objnum, 0); > pdf_begin_stream(pdf); >- for (i = 0; (unsigned) i < info_p->num_palette; i++) { >+ for (i = 0; (unsigned) i < num_palette; i++) { > pdf_room(pdf, 3); >- pdf_quick_out(pdf, info_p->palette[i].red); >- pdf_quick_out(pdf, info_p->palette[i].green); >- pdf_quick_out(pdf, info_p->palette[i].blue); >+ pdf_quick_out(pdf, palette[i].red); >+ pdf_quick_out(pdf, palette[i].green); >+ pdf_quick_out(pdf, palette[i].blue); > } > pdf_end_stream(pdf); > } >@@ -229,17 +234,17 @@ static void write_png_gray(PDF pdf, imag > pdf_puts(pdf, "/DeviceGray\n"); > } > pdf_begin_stream(pdf); >- if (info_p->interlace_type == PNG_INTERLACE_NONE) { >- row = xtalloc(info_p->rowbytes, png_byte); >+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { >+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); > write_noninterlaced(write_simple_pixel(r)); > xfree(row); > } else { >- if (info_p->height * info_p->rowbytes >= 10240000L) >+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) > pdftex_warn > ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); >- rows = xtalloc(info_p->height, png_bytep); >- for (i = 0; (unsigned) i < info_p->height; i++) >- rows[i] = xtalloc(info_p->rowbytes, png_byte); >+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); >+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) >+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); > png_read_image(png_p, rows); > write_interlaced(write_simple_pixel(row)); > xfree(rows); >@@ -258,7 +263,7 @@ static void write_png_gray_alpha(PDF pdf > png_bytep smask; > int smask_ptr = 0; > int smask_size = 0; >- int bitdepth; >+ png_byte bitdepth; > if (img_colorspace(idict) != 0) { > pdf_printf(pdf, "%i 0 R\n", (int) img_colorspace(idict)); > } else { >@@ -266,26 +271,26 @@ static void write_png_gray_alpha(PDF pdf > } > smask_objnum = pdf_create_obj(pdf, obj_type_others, 0); > pdf_printf(pdf, "/SMask %i 0 R\n", (int) smask_objnum); >- smask_size = (int) ((info_p->rowbytes / 2) * info_p->height); >+ smask_size = (int) ((png_get_rowbytes (png_p, info_p) / 2) * png_get_image_height (png_p, info_p)); > smask = xtalloc((unsigned) smask_size, png_byte); > pdf_begin_stream(pdf); >- if (info_p->interlace_type == PNG_INTERLACE_NONE) { >- row = xtalloc(info_p->rowbytes, png_byte); >- if ((info_p->bit_depth == 16) && (pdf->image_hicolor != 0)) { >+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { >+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); >+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor != 0)) { > write_noninterlaced(write_gray_pixel_16(r)); > } else { > write_noninterlaced(write_gray_pixel_8(r)); > } > xfree(row); > } else { >- if (info_p->height * info_p->rowbytes >= 10240000L) >+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) > pdftex_warn > ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); >- rows = xtalloc(info_p->height, png_bytep); >- for (i = 0; (unsigned) i < info_p->height; i++) >- rows[i] = xtalloc(info_p->rowbytes, png_byte); >+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); >+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) >+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); > png_read_image(png_p, rows); >- if ((info_p->bit_depth == 16) && (pdf->image_hicolor != 0)) { >+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor != 0)) { > write_interlaced(write_gray_pixel_16(row)); > } else { > write_interlaced(write_gray_pixel_8(row)); >@@ -295,14 +300,15 @@ static void write_png_gray_alpha(PDF pdf > pdf_end_stream(pdf); > pdf_flush(pdf); > /* now write the Smask object */ >- bitdepth = (int) info_p->bit_depth; >+ bitdepth = png_get_bit_depth (png_p, info_p); > pdf_begin_dict(pdf, smask_objnum, 0); > pdf_puts(pdf, "/Type /XObject\n/Subtype /Image\n"); > if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0) > pdf_printf(pdf, "%s\n", img_attr(idict)); >- pdf_printf(pdf, "/Width %i\n/Height %i\n/BitsPerComponent %i\n", >- (int) info_p->width, >- (int) info_p->height, (bitdepth == 16 ? 8 : bitdepth)); >+ pdf_printf(pdf, "/Width %u\n/Height %i\n/BitsPerComponent %u\n", >+ png_get_image_width (png_p, info_p), >+ png_get_image_height (png_p, info_p), >+ (bitdepth == 16 ? 8 : bitdepth)); > pdf_puts(pdf, "/ColorSpace /DeviceGray\n"); > pdf_begin_stream(pdf); > for (i = 0; i < smask_size; i++) { >@@ -329,17 +335,17 @@ static void write_png_rgb(PDF pdf, image > pdf_puts(pdf, "/DeviceRGB\n"); > } > pdf_begin_stream(pdf); >- if (info_p->interlace_type == PNG_INTERLACE_NONE) { >- row = xtalloc(info_p->rowbytes, png_byte); >+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { >+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); > write_noninterlaced(write_simple_pixel(r)); > xfree(row); > } else { >- if (info_p->height * info_p->rowbytes >= 10240000L) >+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) > pdftex_warn > ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); >- rows = xtalloc(info_p->height, png_bytep); >- for (i = 0; (unsigned) i < info_p->height; i++) >- rows[i] = xtalloc(info_p->rowbytes, png_byte); >+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); >+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) >+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); > png_read_image(png_p, rows); > write_interlaced(write_simple_pixel(row)); > xfree(rows); >@@ -358,7 +364,7 @@ static void write_png_rgb_alpha(PDF pdf, > png_bytep smask; > int smask_ptr = 0; > int smask_size = 0; >- int bitdepth; >+ png_byte bitdepth; > if (img_colorspace(idict) != 0) { > pdf_printf(pdf, "%i 0 R\n", (int) img_colorspace(idict)); > } else { >@@ -366,26 +372,26 @@ static void write_png_rgb_alpha(PDF pdf, > } > smask_objnum = pdf_create_obj(pdf, obj_type_others, 0); > pdf_printf(pdf, "/SMask %i 0 R\n", (int) smask_objnum); >- smask_size = (int) ((info_p->rowbytes / 4) * info_p->height); >+ smask_size = (int) ((png_get_rowbytes (png_p, info_p) / 4) * png_get_image_height (png_p, info_p)); > smask = xtalloc((unsigned) smask_size, png_byte); > pdf_begin_stream(pdf); >- if (info_p->interlace_type == PNG_INTERLACE_NONE) { >- row = xtalloc(info_p->rowbytes, png_byte); >- if ((info_p->bit_depth == 16) && (pdf->image_hicolor != 0)) { >+ if (png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE) { >+ row = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); >+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor != 0)) { > write_noninterlaced(write_rgb_pixel_16(r)); > } else { > write_noninterlaced(write_rgb_pixel_8(r)); > } > xfree(row); > } else { >- if (info_p->height * info_p->rowbytes >= 10240000L) >+ if (png_get_image_height (png_p, info_p) * png_get_rowbytes (png_p, info_p) >= 10240000L) > pdftex_warn > ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)"); >- rows = xtalloc(info_p->height, png_bytep); >- for (i = 0; (unsigned) i < info_p->height; i++) >- rows[i] = xtalloc(info_p->rowbytes, png_byte); >+ rows = xtalloc(png_get_image_height (png_p, info_p), png_bytep); >+ for (i = 0; (unsigned) i < png_get_image_height (png_p, info_p); i++) >+ rows[i] = xtalloc(png_get_rowbytes (png_p, info_p), png_byte); > png_read_image(png_p, rows); >- if ((info_p->bit_depth == 16) && (pdf->image_hicolor != 0)) { >+ if ((png_get_bit_depth (png_p, info_p) == 16) && (pdf->image_hicolor != 0)) { > write_interlaced(write_rgb_pixel_16(row)); > } else { > write_interlaced(write_rgb_pixel_8(row)); >@@ -396,14 +402,15 @@ static void write_png_rgb_alpha(PDF pdf, > pdf_flush(pdf); > /* now write the Smask object */ > if (smask_objnum > 0) { >- bitdepth = (int) info_p->bit_depth; >+ bitdepth = png_get_bit_depth (png_p, info_p); > pdf_begin_dict(pdf, smask_objnum, 0); > pdf_puts(pdf, "/Type /XObject\n/Subtype /Image\n"); > if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0) > pdf_printf(pdf, "%s\n", img_attr(idict)); >- pdf_printf(pdf, "/Width %i\n/Height %i\n/BitsPerComponent %i\n", >- (int) info_p->width, >- (int) info_p->height, (bitdepth == 16 ? 8 : bitdepth)); >+ pdf_printf(pdf, "/Width %u\n/Height %u\n/BitsPerComponent %i\n", >+ png_get_image_width (png_p, info_p), >+ png_get_image_height (png_p, info_p), >+ (bitdepth == 16 ? 8 : bitdepth)); > pdf_puts(pdf, "/ColorSpace /DeviceGray\n"); > pdf_begin_stream(pdf); > for (i = 0; i < smask_size; i++) { >@@ -451,7 +458,7 @@ static void copy_png(PDF pdf, image_dict > assert(idict != NULL); > png_p = img_png_png_ptr(idict); > info_p = img_png_info_ptr(idict); >- fp = (FILE *) png_p->io_ptr; >+ fp = (FILE *) png_get_io_ptr (png_p); > /* 1st pass to find overall stream /Length */ > if (fseek(fp, 8, SEEK_SET) != 0) > pdftex_fail("writepng: fseek in PNG file failed"); >@@ -473,11 +480,12 @@ static void copy_png(PDF pdf, image_dict > "/Filter/FlateDecode\n" > "/DecodeParms<<" > "/Colors %d" >- "/Columns %d" >+ "/Columns %u" > "/BitsPerComponent %i" > "/Predictor 10>>\n>>\nstream\n", streamlength, >- info_p->color_type == 2 ? 3 : 1, >- (int) info_p->width, info_p->bit_depth); >+ png_get_color_type (png_p, info_p) == 2 ? 3 : 1, >+ png_get_image_width (png_p, info_p), >+ png_get_bit_depth (png_p, info_p)); > /* 2nd pass to copy data */ > endflag = false; > if (fseek(fp, 8, SEEK_SET) != 0) >@@ -549,9 +557,10 @@ void write_png(PDF pdf, image_dict * idi > pdf_puts(pdf, "/Type /XObject\n/Subtype /Image\n"); > if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0) > pdf_printf(pdf, "%s\n", img_attr(idict)); >- pdf_printf(pdf, "/Width %i\n/Height %i\n/BitsPerComponent %i\n", >- (int) info_p->width, >- (int) info_p->height, (int) info_p->bit_depth); >+ pdf_printf(pdf, "/Width %u\n/Height %u\n/BitsPerComponent %u\n", >+ png_get_image_width (png_p, info_p), >+ png_get_image_height (png_p, info_p), >+ png_get_bit_depth (png_p, info_p)); > pdf_puts(pdf, "/ColorSpace "); > checked_gamma = 1.0; > if (pdf->image_apply_gamma) { >@@ -563,21 +572,25 @@ void write_png(PDF pdf, image_dict * idi > } > /* the switching between |info_p| and |png_p| queries has been trial and error. > */ >- if (pdf->minor_version > 1 && info_p->interlace_type == PNG_INTERLACE_NONE && (png_p->transformations == 0 || png_p->transformations == 0x2000) /* gamma */ >- &&!(png_p->color_type == PNG_COLOR_TYPE_GRAY_ALPHA || >- png_p->color_type == PNG_COLOR_TYPE_RGB_ALPHA) >- && ((pdf->image_hicolor != 0) || (png_p->bit_depth <= 8)) >+ if (pdf->minor_version > 1 >+ && png_get_interlace_type (png_p, info_p) == PNG_INTERLACE_NONE >+ &&!(png_get_color_type (png_p, info_p) == PNG_COLOR_TYPE_GRAY_ALPHA || >+ png_get_color_type (png_p, info_p) == PNG_COLOR_TYPE_RGB_ALPHA) >+ && ((pdf->image_hicolor != 0) || (png_get_bit_depth (png_p, info_p) <= 8)) > && (checked_gamma <= 1.01 && checked_gamma > 0.99) > ) { >+ png_colorp palette; >+ int num_palette; >+ >+ png_get_PLTE(png_p, info_p, &palette, &num_palette); > if (img_colorspace(idict) != 0) { > pdf_printf(pdf, "%i 0 R\n", (int) img_colorspace(idict)); > } else { >- switch (info_p->color_type) { >+ switch (png_get_color_type (png_p, info_p)) { > case PNG_COLOR_TYPE_PALETTE: > palette_objnum = pdf_create_obj(pdf, obj_type_others, 0); > pdf_printf(pdf, "[/Indexed /DeviceRGB %i %i 0 R]\n", >- (int) (info_p->num_palette - 1), >- (int) palette_objnum); >+ num_palette - 1, (int) palette_objnum); > break; > case PNG_COLOR_TYPE_GRAY: > pdf_puts(pdf, "/DeviceGray\n"); >@@ -592,11 +605,11 @@ void write_png(PDF pdf, image_dict * idi > if (palette_objnum > 0) { > pdf_begin_dict(pdf, palette_objnum, 0); > pdf_begin_stream(pdf); >- for (i = 0; (unsigned) i < info_p->num_palette; i++) { >+ for (i = 0; (unsigned) i < num_palette; i++) { > pdf_room(pdf, 3); >- pdf_quick_out(pdf, info_p->palette[i].red); >- pdf_quick_out(pdf, info_p->palette[i].green); >- pdf_quick_out(pdf, info_p->palette[i].blue); >+ pdf_quick_out(pdf, palette[i].red); >+ pdf_quick_out(pdf, palette[i].green); >+ pdf_quick_out(pdf, palette[i].blue); > } > pdf_end_stream(pdf); > } >@@ -606,22 +619,20 @@ void write_png(PDF pdf, image_dict * idi > if ((pdf->image_apply_gamma != 0) && > (checked_gamma > 1.01 || checked_gamma < 0.99)) > tex_printf("gamma delta=%lf ", checked_gamma); >- if (png_p->transformations != PNG_TRANSFORM_IDENTITY) >- tex_printf("transform=%lu", (long) png_p->transformations); >- if ((info_p->color_type != PNG_COLOR_TYPE_GRAY) >- && (info_p->color_type != PNG_COLOR_TYPE_RGB) >- && (info_p->color_type != PNG_COLOR_TYPE_PALETTE)) >+ if ((png_get_color_type (png_p, info_p) != PNG_COLOR_TYPE_GRAY) >+ && (png_get_color_type (png_p, info_p) != PNG_COLOR_TYPE_RGB) >+ && (png_get_color_type (png_p, info_p) != PNG_COLOR_TYPE_PALETTE)) > tex_printf("colortype "); > if (pdf->minor_version <= 1) > tex_printf("version=%d ", pdf->minor_version); >- if (info_p->interlace_type != PNG_INTERLACE_NONE) >+ if (png_get_interlace_type (png_p, info_p) != PNG_INTERLACE_NONE) > tex_printf("interlaced "); >- if (info_p->bit_depth > 8) >- tex_printf("bitdepth=%d ", info_p->bit_depth); >+ if (png_get_bit_depth (png_p, info_p) > 8) >+ tex_printf("bitdepth=%d ", png_get_bit_depth (png_p, info_p)); > if (png_get_valid(png_p, info_p, PNG_INFO_tRNS)) > tex_printf("simple transparancy "); > } >- switch (info_p->color_type) { >+ switch (png_get_color_type (png_p, info_p)) { > case PNG_COLOR_TYPE_PALETTE: > write_png_palette(pdf, idict); > break; >@@ -647,7 +658,7 @@ void write_png(PDF pdf, image_dict * idi > break; > default: > pdftex_fail("unsupported type of color_type <%i>", >- info_p->color_type); >+ png_get_color_type (png_p, info_p)); > } > } > pdf_flush(pdf);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 355091
:
262649
| 262653