summaryrefslogtreecommitdiff
path: root/package/DirectFB/patches/patch-tools_directfb-csource_c
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-04-07 14:17:39 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-04-07 14:17:39 +0200
commit2dd6d1fc82c0563c0b3af90ad4926fa6463c204f (patch)
treecea2d78836b0958b0402b42976c4c84ec6e700a8 /package/DirectFB/patches/patch-tools_directfb-csource_c
parentc82f34b5a8e2851c2074c1e03263f788eb2c28be (diff)
parent3cda7c5f211225fea03a3634daeef9cafd627aa2 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Conflicts: package/firefox/Makefile package/jpeg/patches/patch-ltmain_sh
Diffstat (limited to 'package/DirectFB/patches/patch-tools_directfb-csource_c')
-rw-r--r--package/DirectFB/patches/patch-tools_directfb-csource_c48
1 files changed, 48 insertions, 0 deletions
diff --git a/package/DirectFB/patches/patch-tools_directfb-csource_c b/package/DirectFB/patches/patch-tools_directfb-csource_c
new file mode 100644
index 000000000..84711d86f
--- /dev/null
+++ b/package/DirectFB/patches/patch-tools_directfb-csource_c
@@ -0,0 +1,48 @@
+--- 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