--- DirectFB-1.4.11/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c.ark 2011-01-16 11:26:16.966685173 +0100 +++ DirectFB-1.4.11/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c 2011-01-16 11:27:18.996685173 +0100 @@ -33,6 +33,7 @@ #include <stdlib.h> #include <unistd.h> #include <png.h> +#include <pnginfo.h> #include <string.h> #include <stdarg.h> @@ -207,7 +208,7 @@ Construct( IDirectFBImageProvider *thiz, if (!data->png_ptr) goto error; - if (setjmp( data->png_ptr->jmpbuf )) { + if (setjmp( png_jmpbuf(data->png_ptr) )) { D_ERROR( "ImageProvider/PNG: Error reading header!\n" ); goto error; } @@ -292,7 +293,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDi rect = dst_data->area.wanted; } - if (setjmp( data->png_ptr->jmpbuf )) { + if (setjmp( png_jmpbuf(data->png_ptr) )) { D_ERROR( "ImageProvider/PNG: Error during decoding!\n" ); if (data->stage < STAGE_IMAGE) --- DirectFB-1.4.11/tools/directfb-csource.c.ark 2011-01-16 11:21:03.700018507 +0100 +++ DirectFB-1.4.11/tools/directfb-csource.c 2011-01-16 11:24:19.493351840 +0100 @@ -41,6 +41,7 @@ #include <sys/stat.h> #include <png.h> +#include <pnginfo.h> #include <directfb.h> @@ -338,7 +339,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; --- DirectFB-1.4.11/tools/mkdfiff.c.ark 2011-01-16 11:24:39.923351839 +0100 +++ DirectFB-1.4.11/tools/mkdfiff.c 2011-01-16 11:24:54.500018506 +0100 @@ -97,7 +97,7 @@ load_image (const char *filen 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; --- DirectFB-1.4.11/tools/mkdgifft.cpp.ark 2011-01-16 11:25:11.976685173 +0100 +++ DirectFB-1.4.11/tools/mkdgifft.cpp 2011-01-16 11:25:24.803351839 +0100 @@ -595,7 +595,7 @@ load_image (const char *filen 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;