Commit 61a65d21 authored by hybrid's avatar hybrid

Fix deprecation warnings in PNG handling. Also added a warning message handler...

Fix deprecation warnings in PNG handling. Also added a warning message handler to get png warnings through the Irrlicht logger. Fix signed/unsigne comparison in WAL loader.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3368 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 3357e7bb
......@@ -34,8 +34,14 @@ IImageWriter* createImageWriterPNG()
// PNG function for error handling
static void png_cpexcept_error(png_structp png_ptr, png_const_charp msg)
{
os::Printer::log("PNG FATAL ERROR", msg, ELL_ERROR);
longjmp(png_ptr->jmpbuf, 1);
os::Printer::log("PNG fatal error", msg, ELL_ERROR);
longjmp(png_jmpbuf(png_ptr), 1);
}
// PNG function for warning handling
static void png_cpexcept_warning(png_structp png_ptr, png_const_charp msg)
{
os::Printer::log("PNG warning", msg, ELL_WARNING);
}
// PNG function for file writing
......@@ -43,7 +49,7 @@ void PNGAPI user_write_data_fcn(png_structp png_ptr, png_bytep data, png_size_t
{
png_size_t check;
io::IWriteFile* file=(io::IWriteFile*)png_ptr->io_ptr;
io::IWriteFile* file=(io::IWriteFile*)png_get_io_ptr(png_ptr);
check=(png_size_t) file->write((const void*)data,(u32)length);
if (check != length)
......@@ -75,7 +81,7 @@ bool CImageWriterPNG::writeImage(io::IWriteFile* file, IImage* image,u32 param)
// Allocate the png write struct
png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
NULL, (png_error_ptr)png_cpexcept_error, NULL);
NULL, (png_error_ptr)png_cpexcept_error, (png_error_ptr)png_cpexcept_warning);
if (!png_ptr)
{
os::Printer::log("PNGWriter: Internal PNG create write struct failure\n", file->getFileName(), ELL_ERROR);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment