media-libs/imlib: Fix giflib-5.1 support (#538976), pkgconfig file (#499268), depende...
[gentoo.git] / media-libs / imlib / files / imlib-1.9.15-libpng15.patch
1 --- a/gdk_imlib/io-png.c
2 +++ b/gdk_imlib/io-png.c
3 @@ -40,13 +40,13 @@
4        return NULL;
5      }
6  
7 -  if (setjmp(png_ptr->jmpbuf))
8 +  if (setjmp(png_jmpbuf(png_ptr)))
9      {
10        png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
11        return NULL;
12      }
13  
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)
16      {
17        png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
18        return NULL;
19 @@ -275,13 +275,13 @@
20        return NULL;
21      }
22    
23 -  if (setjmp(png_ptr->jmpbuf))
24 +  if (setjmp(png_jmpbuf(png_ptr)))
25      {
26        png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
27        return NULL;
28      }
29    
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)
32      {
33        png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
34        return NULL;
35 @@ -301,6 +301,9 @@
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);
41 +
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))
45 @@ -440,13 +443,13 @@
46                 return NULL;
47         }
48         
49 -       if (setjmp(png_ptr->jmpbuf))
50 +       if (setjmp(png_jmpbuf(png_ptr)))
51         {
52                 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
53                 return NULL;
54         }
55         
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)
58         {
59                 png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
60                 return NULL;
61 @@ -635,7 +638,7 @@
62               png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
63               return 0;
64             }
65 -         if (setjmp(png_ptr->jmpbuf))
66 +         if (setjmp(png_jmpbuf(png_ptr)))
67             {
68               fclose(f);
69               png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
70 --- a/Imlib/load.c
71 +++ b/Imlib/load.c
72 @@ -197,12 +197,12 @@
73        png_destroy_read_struct(&png_ptr, NULL, NULL);
74        return NULL;
75      }
76 -  if (setjmp(png_ptr->jmpbuf))
77 +  if (setjmp(png_jmpbuf(png_ptr)))
78      {
79        png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
80        return NULL;
81      }
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)
84      {
85        png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
86        return NULL;
87 @@ -260,7 +260,8 @@
88    png_read_image(png_ptr, lines);
89    png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
90    ptr = data;
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)
94      {
95        for (y = 0; y < *h; y++)
96         {
97 @@ -285,6 +286,7 @@
98             }
99         }
100      }
101 +#if 0
102    else if (color_type == PNG_COLOR_TYPE_GRAY)
103      {
104        for (y = 0; y < *h; y++)
105 @@ -300,6 +302,7 @@
106             }
107         }
108      }
109 +#endif
110    else
111      {
112        for (y = 0; y < *h; y++)
113 --- a/Imlib/save.c
114 +++ b/Imlib/save.c
115 @@ -342,7 +342,7 @@
116               png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
117               return 0;
118             }
119 -         if (setjmp(png_ptr->jmpbuf))
120 +         if (setjmp(png_jmpbuf(png_ptr)))
121             {
122               fclose(f);
123               png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
124 --- a/Imlib/utils.c
125 +++ b/Imlib/utils.c
126 @@ -1981,14 +1981,13 @@
127        png_destroy_read_struct(&png_ptr, NULL, NULL);
128        return NULL;
129      }
130 -  
131 -  if (setjmp(png_ptr->jmpbuf))
132 +  if (setjmp(png_jmpbuf(png_ptr)))  
133      {
134        png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
135        return NULL;
136      }
137    
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)
140      {
141        png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
142        return NULL;