--- koffice/filters/chalk/png/kis_png_converter.cc 2011-06-27 13:54:18.000000000 -0500 +++ koffice/filters/chalk/png/kis_png_converter.cc.new 2011-11-07 15:38:47.918508855 -0600 @@ -785,7 +785,7 @@ void KisPNGConverter::progress(png_structp png_ptr, png_uint_32 row_number, int pass) { - if(png_ptr == NULL || row_number > PNG_MAX_UINT || pass > 7) return; + if(png_ptr == NULL || row_number > PNG_UINT_31_MAX || pass > 7) return; // setProgress(row_number); } --- koffice/filters/chalk/png/kis_png_converter.cc.gcc47 2012-04-26 16:38:35.805156927 -0400 +++ koffice/filters/chalk/png/kis_png_converter.cc 2012-04-26 16:49:27.179323394 -0400 @@ -43,6 +43,8 @@ #include #include +#include + namespace { const TQ_UINT8 PIXEL_BLUE = 0; @@ -222,6 +224,7 @@ // Read image profile png_charp profile_name, profile_data; + unsigned char* uprofile_data = reinterpret_cast(profile_data); int compression_type; png_uint_32 proflen; int number_of_passes = 1; @@ -230,7 +233,7 @@ number_of_passes = png_set_interlace_handling(png_ptr); KisProfile* profile = 0; - if(png_get_iCCP(png_ptr, info_ptr, &profile_name, &compression_type, &profile_data, &proflen)) + if(png_get_iCCP(png_ptr, info_ptr, &profile_name, &compression_type, &uprofile_data, &proflen)) { TQByteArray profile_rawdata; // XXX: Hardcoded for icc type -- is that correct for us? @@ -627,7 +630,7 @@ } else { // Profile char* name = new char[(*it)->type().length()+1]; strcpy(name, (*it)->type().ascii()); - png_set_iCCP(png_ptr, info_ptr, name, PNG_COMPRESSION_TYPE_BASE, (char*)(*it)->annotation().data(), (*it) -> annotation() . size()); + png_set_iCCP(png_ptr, info_ptr, name, PNG_COMPRESSION_TYPE_BASE, (unsigned char*)(*it)->annotation().data(), (*it) -> annotation() . size()); } ++it; }