diff options
Diffstat (limited to 'redhat/applications/digikam/digikam-3.5.13-gcc_47_fix.patch')
-rw-r--r-- | redhat/applications/digikam/digikam-3.5.13-gcc_47_fix.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/redhat/applications/digikam/digikam-3.5.13-gcc_47_fix.patch b/redhat/applications/digikam/digikam-3.5.13-gcc_47_fix.patch new file mode 100644 index 000000000..69dcadda7 --- /dev/null +++ b/redhat/applications/digikam/digikam-3.5.13-gcc_47_fix.patch @@ -0,0 +1,50 @@ +commit a94890345ef2caae35a72ed3a398b2984349bb2f +Author: Darrell Anderson <humanreadable@yahoo.com> +Date: 1335586728 -0500 + + GCC 4.7 fix. + This partially resolves bug report 958. + Thanks to David C. Rankin. + +diff --git a/digikam/libs/dimg/loaders/pngloader.cpp b/digikam/libs/dimg/loaders/pngloader.cpp +index fd5d771..fa6dad9 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 + } + + // ------------------------------------------------------------------- |