You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/redhat/applications/koffice/koffice-3.5.13-fix_libpng.p...

49 lines
2.0 KiB

--- 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 <kis_paint_layer.h>
#include <kis_group_layer.h>
+#include <zlib.h>
+
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<unsigned char*>(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;
}