diff options
author | Darrell Anderson <humanreadable@yahoo.com> | 2012-04-27 23:18:48 -0500 |
---|---|---|
committer | Darrell Anderson <humanreadable@yahoo.com> | 2012-04-27 23:18:48 -0500 |
commit | a94890345ef2caae35a72ed3a398b2984349bb2f (patch) | |
tree | 914c7b5db542058b88d0e78c5420918f2d730bd8 | |
parent | 7d0d82b7d93af5822d4c84c4ebd4ad82b9e463d0 (diff) | |
download | digikam-a94890345ef2caae35a72ed3a398b2984349bb2f.tar.gz digikam-a94890345ef2caae35a72ed3a398b2984349bb2f.zip |
GCC 4.7 fix.
This partially resolves bug report 958.
Thanks to David C. Rankin.
-rw-r--r-- | digikam/libs/dimg/loaders/pngloader.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/digikam/libs/dimg/loaders/pngloader.cpp b/digikam/libs/dimg/loaders/pngloader.cpp index fd5d771a..fa6dad9b 100644 --- a/digikam/libs/dimg/loaders/pngloader.cpp +++ b/digikam/libs/dimg/loaders/pngloader.cpp @@ -57,6 +57,12 @@ extern "C" namespace Digikam { +#if PNG_LIBPNG_VER_MAJOR > 1 || ( PNG_LIBPNG_VER_MAJOR == 1 && PNG_LIBPNG_VER_MINOR >= 5 ) + typedef png_bytep iCCP_data; +#else + typedef png_charp iCCP_data; +#endif + PNGLoader::PNGLoader(DImg* image) : DImgLoader(image) { @@ -403,7 +409,12 @@ bool PNGLoader::load(const TQString& filePath, DImgLoaderObserver *observer) TQMap<int, TQByteArray>& metaData = imageMetaData(); +#if PNG_LIBPNG_VER_MAJOR > 1 || ( PNG_LIBPNG_VER_MAJOR == 1 && PNG_LIBPNG_VER_MINOR >= 5 ) + png_charp profile_name; + iCCP_data profile_data=NULL; +#else png_charp profile_name, profile_data=NULL; +#endif png_uint_32 profile_size; int compression_type; @@ -599,7 +610,11 @@ bool PNGLoader::save(const TQString& filePath, DImgLoaderObserver *observer) if (!profile_rawdata.isEmpty()) { +#if PNG_LIBPNG_VER_MAJOR > 1 || ( PNG_LIBPNG_VER_MAJOR == 1 && PNG_LIBPNG_VER_MINOR >= 5 ) + png_set_iCCP(png_ptr, info_ptr, (png_charp)("icc"), PNG_COMPRESSION_TYPE_BASE, (iCCP_data)profile_rawdata.data(), profile_rawdata.size()); +#else png_set_iCCP(png_ptr, info_ptr, (png_charp)"icc", PNG_COMPRESSION_TYPE_BASE, profile_rawdata.data(), profile_rawdata.size()); +#endif } // ------------------------------------------------------------------- |