rawstudio/rawstudio-2.0-libpng-1.5.patch
Automatic Build System 4cc4e012ea automatic version update by autodist
added patch to fix libpng1.5 compatibility issue [release 2.0-1mamba;Mon Jun 03 2013]
2024-01-05 17:22:04 +01:00

44 lines
2.2 KiB
Diff

diff -u -aur rawstudio-2.0/plugins/load-gdk/exiv2-colorspace.cpp rawstudio-2.0.new/plugins/load-gdk/exiv2-colorspace.cpp
--- rawstudio-2.0/plugins/load-gdk/exiv2-colorspace.cpp 2011-02-23 23:35:18.000000000 +0100
+++ rawstudio-2.0.new/plugins/load-gdk/exiv2-colorspace.cpp 2012-02-28 11:19:29.600026282 +0100
@@ -125,11 +125,17 @@
int compression_type;
/* Extract embedded ICC profile */
- if (info_ptr->valid & PNG_INFO_iCCP)
+ if (png_get_valid(png_ptr, info_ptr, TRUE) & PNG_INFO_iCCP)
{
+#if PNG_LIBPNG_VER_SONUM >=15
+ png_uint_32 retval = png_get_iCCP (png_ptr, info_ptr,
+ (png_charpp) &icc_profile_title, &compression_type,
+ (png_byte**) &icc_profile, (png_uint_32*) &icc_profile_size);
+#else
png_uint_32 retval = png_get_iCCP (png_ptr, info_ptr,
(png_charpp) &icc_profile_title, &compression_type,
(png_charpp) &icc_profile, (png_uint_32*) &icc_profile_size);
+#endif
if (retval != 0)
{
RSIccProfile *icc = rs_icc_profile_new_from_memory((gchar*)icc_profile, icc_profile_size, TRUE);
diff -u -aur rawstudio-2.0/plugins/output-pngfile/output-pngfile.c rawstudio-2.0.new/plugins/output-pngfile/output-pngfile.c
--- rawstudio-2.0/plugins/output-pngfile/output-pngfile.c 2011-03-26 02:52:29.000000000 +0100
+++ rawstudio-2.0.new/plugins/output-pngfile/output-pngfile.c 2012-02-28 11:31:50.392934364 +0100
@@ -23,6 +23,7 @@
#include <gettext.h>
#include "config.h"
#include <png.h>
+#include <zlib.h>
#define RS_TYPE_PNGFILE (rs_pngfile_type)
#define RS_PNGFILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RS_TYPE_PNGFILE, RSPngfile))
@@ -197,8 +198,7 @@
const RSIccProfile *profile = rs_color_space_get_icc_profile(pngfile->color_space, pngfile->save16bit);
rs_icc_profile_get_data(profile, &data, &data_length);
- // FIXME: Insert correct profile name
- png_set_iCCP(png_ptr, info_ptr, "Profile name", PNG_COMPRESSION_TYPE_BASE, data, data_length);
+ png_set_iCCP(png_ptr, info_ptr, (png_charp)rs_color_space_get_name(pngfile->color_space), PNG_COMPRESSION_TYPE_BASE, (png_charp)data, data_length);
if (pngfile->save16bit)
png_set_gAMA(png_ptr, info_ptr, 1.0);
}