diff -up amanith/plugins/png/gpngimpexp.cpp.pngfix amanith/plugins/png/gpngimpexp.cpp
--- amanith/plugins/png/gpngimpexp.cpp.pngfix 2011-12-06 13:08:47.321866882 -0500
+++ amanith/plugins/png/gpngimpexp.cpp 2011-12-06 13:09:30.297453723 -0500
@@ -366,7 +366,11 @@ GError GPngImpExp::RawPngSave(const GCha
/* Set error handling. REQUIRED if you aren't supplying your own
* error handling functions in the png_create_write_struct() call.
*/
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+ if (setjmp(png_jmpbuf(png_ptr))) {
+#else
if (setjmp(png_ptr->jmpbuf)) {
+#endif
/* If we get here, we had a problem reading the file */
std::fclose(fp);
png_destroy_write_struct(&png_ptr, (png_infopp)info_ptr);