diff -ur AfterStep-2.2.11.orig/libAfterImage/export.c AfterStep-2.2.11/libAfterImage/export.c --- AfterStep-2.2.11.orig/libAfterImage/export.c 2010-09-23 21:52:15.000000000 +0100 +++ AfterStep-2.2.11/libAfterImage/export.c 2012-06-18 01:48:11.054109582 +0100 @@ -496,7 +496,7 @@ png_ptr = png_create_write_struct( PNG_LIBPNG_VER_STRING, NULL, NULL, NULL ); if ( png_ptr != NULL ) if( (info_ptr = png_create_info_struct(png_ptr)) != NULL ) - if( setjmp(png_ptr->jmpbuf) ) + if( setjmp(png_jmpbuf(png_ptr)) ) { png_destroy_info_struct(png_ptr, (png_infopp) &info_ptr); info_ptr = NULL ; diff -ur AfterStep-2.2.11.orig/libAfterImage/import.c AfterStep-2.2.11/libAfterImage/import.c --- AfterStep-2.2.11.orig/libAfterImage/import.c 2010-09-23 21:57:57.000000000 +0100 +++ AfterStep-2.2.11/libAfterImage/import.c 2012-06-18 01:55:43.547156261 +0100 @@ -1251,7 +1251,7 @@ * the normal method of doing things with libpng). REQUIRED unless you * set up your own error handlers in the png_create_read_struct() earlier. */ - if ( !setjmp (png_ptr->jmpbuf)) + if ( !setjmp(png_jmpbuf(png_ptr))) { ASFlagType rgb_flags = ASStorage_RLEDiffCompress|ASStorage_32Bit ; @@ -1468,7 +1468,7 @@ static void asim_png_read_data(png_structp png_ptr, png_bytep data, png_size_t length) { - ASImPNGReadBuffer *buf = (ASImPNGReadBuffer *)png_ptr->io_ptr; + ASImPNGReadBuffer *buf = (ASImPNGReadBuffer *) png_get_io_ptr(png_ptr); memcpy(data, buf->buffer, length); buf->buffer += length; }