Contents of /trunk/imlib2/patches/imlib2-1.4.4-libpng-1.5.patch
Parent Directory | Revision Log
Revision 1292 -
(show annotations)
(download)
Tue Mar 1 19:21:06 2011 UTC (13 years, 6 months ago) by niro
File size: 2540 byte(s)
Tue Mar 1 19:21:06 2011 UTC (13 years, 6 months ago) by niro
File size: 2540 byte(s)
-added libpng-1.5 patch
1 | http://bugs.gentoo.org/354989 |
2 | |
3 | # http://sourceforge.net/mailarchive/message.php?msg_id=26972342 |
4 | |
5 | $NetBSD: patch-af,v 1.4 2011/01/14 10:02:54 wiz Exp $ |
6 | |
7 | Fix build with png-1.5. |
8 | |
9 | has also been committed upstream. |
10 | |
11 | --- src/modules/loaders/loader_png.c |
12 | +++ src/modules/loaders/loader_png.c |
13 | @@ -58,7 +58,7 @@ |
14 | fclose(f); |
15 | return 0; |
16 | } |
17 | - if (setjmp(png_ptr->jmpbuf)) |
18 | + if (setjmp(png_jmpbuf(png_ptr))) |
19 | { |
20 | png_destroy_read_struct(&png_ptr, &info_ptr, NULL); |
21 | fclose(f); |
22 | @@ -238,7 +238,7 @@ |
23 | png_structp png_ptr; |
24 | png_infop info_ptr; |
25 | DATA32 *ptr; |
26 | - int x, y, j; |
27 | + int x, y, j, interlace; |
28 | png_bytep row_ptr, data = NULL; |
29 | png_color_8 sig_bit; |
30 | int pl = 0; |
31 | @@ -265,7 +265,7 @@ |
32 | png_destroy_write_struct(&png_ptr, (png_infopp) NULL); |
33 | return 0; |
34 | } |
35 | - if (setjmp(png_ptr->jmpbuf)) |
36 | + if (setjmp(png_jmpbuf(png_ptr))) |
37 | { |
38 | fclose(f); |
39 | png_destroy_write_struct(&png_ptr, (png_infopp) & info_ptr); |
40 | @@ -274,11 +274,11 @@ |
41 | } |
42 | |
43 | /* check whether we should use interlacing */ |
44 | + interlace = PNG_INTERLACE_NONE; |
45 | if ((tag = __imlib_GetTag(im, "interlacing")) && tag->val) |
46 | { |
47 | #ifdef PNG_WRITE_INTERLACING_SUPPORTED |
48 | - png_ptr->interlaced = PNG_INTERLACE_ADAM7; |
49 | - num_passes = png_set_interlace_handling(png_ptr); |
50 | + interlace = PNG_INTERLACE_ADAM7; |
51 | #endif |
52 | } |
53 | |
54 | @@ -286,7 +286,7 @@ |
55 | if (im->flags & F_HAS_ALPHA) |
56 | { |
57 | png_set_IHDR(png_ptr, info_ptr, im->w, im->h, 8, |
58 | - PNG_COLOR_TYPE_RGB_ALPHA, png_ptr->interlaced, |
59 | + PNG_COLOR_TYPE_RGB_ALPHA, interlace, |
60 | PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); |
61 | #ifdef WORDS_BIGENDIAN |
62 | png_set_swap_alpha(png_ptr); |
63 | @@ -297,7 +297,7 @@ |
64 | else |
65 | { |
66 | png_set_IHDR(png_ptr, info_ptr, im->w, im->h, 8, PNG_COLOR_TYPE_RGB, |
67 | - png_ptr->interlaced, PNG_COMPRESSION_TYPE_BASE, |
68 | + interlace, PNG_COMPRESSION_TYPE_BASE, |
69 | PNG_FILTER_TYPE_BASE); |
70 | data = malloc(im->w * 3 * sizeof(char)); |
71 | } |
72 | @@ -344,6 +344,10 @@ |
73 | png_set_shift(png_ptr, &sig_bit); |
74 | png_set_packing(png_ptr); |
75 | |
76 | +#ifdef PNG_WRITE_INTERLACING_SUPPORTED |
77 | + num_passes = png_set_interlace_handling(png_ptr); |
78 | +#endif |
79 | + |
80 | for (pass = 0; pass < num_passes; pass++) |
81 | { |
82 | ptr = im->data; |