--- a/rtengine/imageio.cc Tue Sep 20 19:22:53 2011 +0200 +++ a/rtengine/imageio.cc Fri Sep 23 18:12:48 2011 +0300 @@ -862,37 +862,37 @@ int ImageIO::saveTIFF (Glib::ustring fna // PNG read and write routines: void png_read_data(png_structp png_ptr, png_bytep data, png_size_t length) { png_size_t check; /* fread() returns 0 on error, so it is OK to store this in a png_size_t * instead of an int, which is what fread() actually returns. */ - check = (png_size_t)fread(data, (png_size_t)1, length, (FILE *)png_ptr->io_ptr); + check = (png_size_t)fread(data, (png_size_t)1, length, (FILE *)png_get_io_ptr(png_ptr)); if (check != length) { png_error(png_ptr, "Read Error"); } } void png_write_data(png_structp png_ptr, png_bytep data, png_size_t length) { png_uint_32 check; - check = fwrite(data, 1, length, (FILE *)(png_ptr->io_ptr)); + check = fwrite(data, 1, length, (FILE *)png_get_io_ptr(png_ptr)); if (check != length) { png_error(png_ptr, "Write Error"); } } void png_flush(png_structp png_ptr) { FILE *io_ptr; - io_ptr = (FILE *)CVT_PTR((png_ptr->io_ptr)); + io_ptr = (FILE *)(png_get_io_ptr(png_ptr)); if (io_ptr != NULL) fflush(io_ptr); } int ImageIO::load (Glib::ustring fname) { int lastdot = fname.find_last_of ('.'); if( Glib::ustring::npos == lastdot )