44 lines
2.2 KiB
Diff
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);
|
||
|
}
|