|
@@ -1,48 +0,0 @@
|
|
|
---- DirectFB-1.4.11.orig/tools/directfb-csource.c 2010-10-31 09:49:49.000000000 +0100
|
|
|
-+++ DirectFB-1.4.11/tools/directfb-csource.c 2011-03-29 10:57:18.453068981 +0200
|
|
|
-@@ -338,7 +338,7 @@ static DFBResult load_image (const char
|
|
|
- if (!png_ptr)
|
|
|
- goto cleanup;
|
|
|
-
|
|
|
-- if (setjmp (png_ptr->jmpbuf)) {
|
|
|
-+ if (setjmp (png_jmpbuf (png_ptr))) {
|
|
|
- if (desc->preallocated[0].data) {
|
|
|
- free (desc->preallocated[0].data);
|
|
|
- desc->preallocated[0].data = NULL;
|
|
|
-@@ -405,17 +405,22 @@ static DFBResult load_image (const char
|
|
|
- }
|
|
|
-
|
|
|
- switch (src_format) {
|
|
|
-- case DSPF_LUT8:
|
|
|
-- if (info_ptr->num_palette) {
|
|
|
-+ case DSPF_LUT8: {
|
|
|
-+ png_colorp png_palette;
|
|
|
-+ int num_palette;
|
|
|
-+
|
|
|
-+ png_get_PLTE( png_ptr, info_ptr, &png_palette, &num_palette );
|
|
|
-+
|
|
|
-+ if (num_palette) {
|
|
|
- png_byte *alpha;
|
|
|
- int i, num;
|
|
|
-
|
|
|
-- *palette_size = MIN (info_ptr->num_palette, 256);
|
|
|
-+ *palette_size = MIN (num_palette, 256);
|
|
|
- for (i = 0; i < *palette_size; i++) {
|
|
|
- palette[i].a = 0xFF;
|
|
|
-- palette[i].r = info_ptr->palette[i].red;
|
|
|
-- palette[i].g = info_ptr->palette[i].green;
|
|
|
-- palette[i].b = info_ptr->palette[i].blue;
|
|
|
-+ palette[i].r = png_palette[i].red;
|
|
|
-+ palette[i].g = png_palette[i].green;
|
|
|
-+ palette[i].b = png_palette[i].blue;
|
|
|
- }
|
|
|
- if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS)) {
|
|
|
- png_get_tRNS (png_ptr, info_ptr, &alpha, &num, NULL);
|
|
|
-@@ -424,6 +429,7 @@ static DFBResult load_image (const char
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
-+ }
|
|
|
- case DSPF_RGB32:
|
|
|
- png_set_filler (png_ptr, 0xFF,
|
|
|
- #ifdef WORDS_BIGENDIAN
|