Signed-off-by: Mike Frysinger <[email protected]>
---
tools/directfb-csource.c | 20 +++++++++++++-------
tools/mkdfiff.c | 2 +-
tools/mkdgifft.cpp | 2 +-
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/tools/directfb-csource.c b/tools/directfb-csource.c
index 8f2cbf0..487ea3c 100644
--- a/tools/directfb-csource.c
+++ b/tools/directfb-csource.c
@@ -338,7 +338,7 @@ static DFBResult load_image (const char
*filename,
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
*filename,
}
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
*filename,
}
}
break;
+ }
case DSPF_RGB32:
png_set_filler (png_ptr, 0xFF,
#ifdef WORDS_BIGENDIAN
diff --git a/tools/mkdfiff.c b/tools/mkdfiff.c
index 68a3b4f..edb58a7 100644
--- a/tools/mkdfiff.c
+++ b/tools/mkdfiff.c
@@ -97,7 +97,7 @@ load_image (const char *filename,
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;
diff --git a/tools/mkdgifft.cpp b/tools/mkdgifft.cpp
index 96e4220..d4b6bf4 100644
--- a/tools/mkdgifft.cpp
+++ b/tools/mkdgifft.cpp
@@ -595,7 +595,7 @@ load_image (const char *filename,
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;
--
1.7.4.1
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev