2017-05-31 12:18:43 +02:00
|
|
|
Index: darktable-2.2.5/src/common/exif.cc
|
2017-01-04 19:35:48 +01:00
|
|
|
===================================================================
|
2017-05-31 12:18:43 +02:00
|
|
|
--- darktable-2.2.5.orig/src/common/exif.cc
|
|
|
|
+++ darktable-2.2.5/src/common/exif.cc
|
|
|
|
@@ -82,6 +82,13 @@ const char *dt_xmp_keys[]
|
2017-01-04 19:35:48 +01:00
|
|
|
|
|
|
|
static const guint dt_xmp_keys_n = G_N_ELEMENTS(dt_xmp_keys); // the number of XmpBag XmpSeq keys that dt uses
|
|
|
|
|
|
|
|
+#if ! GLIB_CHECK_VERSION(2,40,0)
|
|
|
|
+static gboolean _str_is_ascii(const char *str)
|
|
|
|
+{
|
|
|
|
+ while(*str) if((guchar)*str++ >= 0x80) return FALSE;
|
|
|
|
+ return TRUE;
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
/* a few helper functions inspired by
|
|
|
|
https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2/repository/revisions/master/entry/libkexiv2/kexiv2gps.cpp
|
2017-05-31 12:18:43 +02:00
|
|
|
@@ -1356,7 +1363,11 @@ int dt_exif_read_blob(uint8_t **buf, con
|
2017-01-04 19:35:48 +01:00
|
|
|
if(res != NULL)
|
|
|
|
{
|
|
|
|
char *desc = (char *)res->data;
|
|
|
|
+#if GLIB_CHECK_VERSION(2,40,0)
|
|
|
|
if(g_str_is_ascii(desc))
|
|
|
|
+#else
|
|
|
|
+ if(_str_is_ascii(desc))
|
|
|
|
+#endif
|
|
|
|
exifData["Exif.Image.ImageDescription"] = desc;
|
|
|
|
else
|
|
|
|
exifData["Exif.Photo.UserComment"] = desc;
|