457 lines
16 KiB
Diff
457 lines
16 KiB
Diff
From d8a3550181d4f4d19de956490a155512895e6587 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <zebob.m@gmail.com>
|
|
Date: Sun, 12 Nov 2023 00:09:01 +0100
|
|
Subject: [PATCH] Fix build with >=exiv2-0.28.0
|
|
|
|
- add compatibility for exiv2-0.28
|
|
---
|
|
librawstudio/rs-exif.cc | 24 ++++++++++++++------
|
|
plugins/load-dcraw/ufraw_exiv2.cc | 30 +++++++++++++++----------
|
|
plugins/load-gdk/exiv2-colorspace.cpp | 28 +++++++++++++++++++----
|
|
plugins/load-png/exiv2-colorspace.cpp | 28 +++++++++++++++++++----
|
|
plugins/meta-exiv2/exiv2-metadata.cpp | 32 ++++++++++++++++++---------
|
|
5 files changed, 105 insertions(+), 37 deletions(-)
|
|
|
|
diff --git a/librawstudio/rs-exif.cc b/librawstudio/rs-exif.cc
|
|
index b22b6356..7a4ad819 100644
|
|
--- a/librawstudio/rs-exif.cc
|
|
+++ b/librawstudio/rs-exif.cc
|
|
@@ -33,6 +33,16 @@
|
|
#include <exiv2/convert.hpp>
|
|
#endif
|
|
|
|
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
+typedef Exiv2::Error Exiv2Error;
|
|
+typedef Exiv2::Image::UniquePtr ImagePtr;
|
|
+typedef Exiv2::Value::UniquePtr ValuePtr;
|
|
+#else
|
|
+typedef Exiv2::AnyError Exiv2Error;
|
|
+typedef Exiv2::Image::AutoPtr ImagePtr;
|
|
+typedef Exiv2::Value::AutoPtr ValuePtr;
|
|
+#endif
|
|
+
|
|
extern "C" {
|
|
#include <rawstudio.h>
|
|
#include "config.h"
|
|
@@ -128,7 +138,7 @@ rs_exif_load_from_file(const gchar *filename)
|
|
RS_EXIF_DATA *exif_data;
|
|
try
|
|
{
|
|
- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
|
|
+ ImagePtr image = Exiv2::ImageFactory::open(filename);
|
|
assert(image.get() != 0);
|
|
image->readMetadata();
|
|
|
|
@@ -136,7 +146,7 @@ rs_exif_load_from_file(const gchar *filename)
|
|
|
|
exif_data_init(exif_data);
|
|
}
|
|
- catch (Exiv2::AnyError& e)
|
|
+ catch (Exiv2Error& e)
|
|
{
|
|
g_warning("Could not load EXIF data from file %s", filename);
|
|
return NULL;
|
|
@@ -151,7 +161,7 @@ rs_exif_load_from_rawfile(RAWFILE *rawfile)
|
|
RS_EXIF_DATA *rs_exif_data;
|
|
try
|
|
{
|
|
- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(
|
|
+ ImagePtr image = Exiv2::ImageFactory::open(
|
|
(const Exiv2::byte*) raw_get_map(rawfile), raw_get_filesize(rawfile));
|
|
|
|
assert(image.get() != 0);
|
|
@@ -161,7 +171,7 @@ rs_exif_load_from_rawfile(RAWFILE *rawfile)
|
|
|
|
exif_data_init(rs_exif_data);
|
|
}
|
|
- catch (Exiv2::AnyError& e)
|
|
+ catch (Exiv2Error& e)
|
|
{
|
|
g_warning("Could not load EXIF data");
|
|
return NULL;
|
|
@@ -179,7 +189,7 @@ rs_exif_add_to_file(RS_EXIF_DATA *d, Exiv2::IptcData &iptc_data, const gchar *fi
|
|
try
|
|
{
|
|
Exiv2::ExifData *data = (Exiv2::ExifData *) d;
|
|
- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
|
|
+ ImagePtr image = Exiv2::ImageFactory::open(filename);
|
|
|
|
/* Copy EXIF to XMP */
|
|
#if EXIV2_TEST_VERSION(0,17,0)
|
|
@@ -200,7 +210,7 @@ rs_exif_add_to_file(RS_EXIF_DATA *d, Exiv2::IptcData &iptc_data, const gchar *fi
|
|
image->setIptcData(iptc_data);
|
|
image->writeMetadata();
|
|
}
|
|
- catch (Exiv2::AnyError& e)
|
|
+ catch (Exiv2Error& e)
|
|
{
|
|
g_warning("Couldn't add EXIF data to %s", filename);
|
|
}
|
|
@@ -269,7 +279,7 @@ rs_add_tags_exif(RS_EXIF_DATA *d, const gchar *input_filename)
|
|
|
|
glong items_written;
|
|
gunichar2 *w = g_utf8_to_utf16(xpkeyw->str, -1, NULL, &items_written, NULL);
|
|
- Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::unsignedByte);
|
|
+ ValuePtr v = Exiv2::Value::create(Exiv2::unsignedByte);
|
|
v->read((const Exiv2::byte*)w, items_written * sizeof(gunichar2), Exiv2::invalidByteOrder);
|
|
Exiv2::ExifKey key = Exiv2::ExifKey("Exif.Image.XPKeywords");
|
|
data->add(key, v.get());
|
|
diff --git a/plugins/load-dcraw/ufraw_exiv2.cc b/plugins/load-dcraw/ufraw_exiv2.cc
|
|
index 873bacc2..79969936 100644
|
|
--- a/plugins/load-dcraw/ufraw_exiv2.cc
|
|
+++ b/plugins/load-dcraw/ufraw_exiv2.cc
|
|
@@ -18,7 +18,17 @@
|
|
#include <exiv2/exiv2.hpp>
|
|
#include <sstream>
|
|
#include <cassert>
|
|
+#include <cinttypes>
|
|
#include <iostream>
|
|
+#include <memory>
|
|
+
|
|
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
+ typedef Exiv2::Error Exiv2Error;
|
|
+ typedef Exiv2::Image::UniquePtr ImagePtr;
|
|
+#else
|
|
+ typedef Exiv2::AnyError Exiv2Error;
|
|
+ typedef Exiv2::Image::AutoPtr ImagePtr;
|
|
+#endif
|
|
|
|
/*
|
|
* Helper function to copy a string to a buffer, converting it from
|
|
@@ -50,7 +60,7 @@ extern "C" int ufraw_exif_read_input(ufraw_data *uf)
|
|
uf->inputExifBuf = NULL;
|
|
uf->inputExifBufLen = 0;
|
|
|
|
- Exiv2::Image::AutoPtr image;
|
|
+ ImagePtr image;
|
|
if (uf->unzippedBuf != NULL) {
|
|
image = Exiv2::ImageFactory::open(
|
|
(const Exiv2::byte*)uf->unzippedBuf, uf->unzippedBufLen);
|
|
@@ -66,11 +76,7 @@ extern "C" int ufraw_exif_read_input(ufraw_data *uf)
|
|
if (exifData.empty()) {
|
|
std::string error(uf->filename);
|
|
error += ": No Exif data found in the file";
|
|
-#if EXIV2_TEST_VERSION(0,27,0)
|
|
- throw Exiv2::Error(Exiv2::kerErrorMessage, error);
|
|
-#else
|
|
- throw Exiv2::Error(1, error);
|
|
-#endif
|
|
+ throw Exiv2Error(Exiv2::ErrorCode::kerErrorMessage, error);
|
|
}
|
|
|
|
/* List of tag names taken from exiv2's printSummary() in actions.cpp */
|
|
@@ -135,7 +141,7 @@ extern "C" int ufraw_exif_read_input(ufraw_data *uf)
|
|
ufraw_message(UFRAW_SET_LOG, "%s\n", stderror.str().c_str());
|
|
|
|
return UFRAW_SUCCESS;
|
|
- } catch (Exiv2::AnyError& e) {
|
|
+ } catch (Exiv2Error& e) {
|
|
std::cerr.rdbuf(savecerr);
|
|
std::string s(e.what());
|
|
ufraw_message(UFRAW_SET_WARNING, "%s\n", s.c_str());
|
|
@@ -155,8 +161,8 @@ static Exiv2::ExifData ufraw_prepare_exifdata(ufraw_data *uf)
|
|
/* Reset orientation tag since UFRaw already rotates the image */
|
|
if ((pos = exifData.findKey(Exiv2::ExifKey("Exif.Image.Orientation")))
|
|
!= exifData.end()) {
|
|
- ufraw_message(UFRAW_SET_LOG, "Resetting %s from '%d' to '1'\n",
|
|
- pos->key().c_str(), pos->value().toLong());
|
|
+ ufraw_message(UFRAW_SET_LOG, "Resetting %s from '%" PRId64 "' to '1'\n",
|
|
+ pos->key().c_str(), pos->value().toInt64());
|
|
pos->setValue("1"); /* 1 = Normal orientation */
|
|
}
|
|
}
|
|
@@ -327,7 +333,7 @@ extern "C" int ufraw_exif_prepare_output(ufraw_data *uf)
|
|
ufraw_message(UFRAW_SET_LOG, "%s\n", stderror.str().c_str());
|
|
|
|
return UFRAW_SUCCESS;
|
|
- } catch (Exiv2::AnyError& e) {
|
|
+ } catch (Exiv2Error& e) {
|
|
std::cerr.rdbuf(savecerr);
|
|
std::string s(e.what());
|
|
ufraw_message(UFRAW_SET_WARNING, "%s\n", s.c_str());
|
|
@@ -347,7 +353,7 @@ extern "C" int ufraw_exif_write(ufraw_data *uf)
|
|
|
|
char *filename =
|
|
uf_win32_locale_filename_from_utf8(uf->conf->outputFilename);
|
|
- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
|
|
+ ImagePtr image = Exiv2::ImageFactory::open(filename);
|
|
uf_win32_locale_filename_free(filename);
|
|
assert(image.get() != 0);
|
|
|
|
@@ -367,7 +373,7 @@ extern "C" int ufraw_exif_write(ufraw_data *uf)
|
|
ufraw_message(UFRAW_SET_LOG, "%s\n", stderror.str().c_str());
|
|
|
|
return UFRAW_SUCCESS;
|
|
- } catch (Exiv2::AnyError& e) {
|
|
+ } catch (Exiv2Error& e) {
|
|
std::cerr.rdbuf(savecerr);
|
|
std::string s(e.what());
|
|
ufraw_message(UFRAW_SET_WARNING, "%s\n", s.c_str());
|
|
diff --git a/plugins/load-gdk/exiv2-colorspace.cpp b/plugins/load-gdk/exiv2-colorspace.cpp
|
|
index c2c87fbb..efda2ddc 100644
|
|
--- a/plugins/load-gdk/exiv2-colorspace.cpp
|
|
+++ b/plugins/load-gdk/exiv2-colorspace.cpp
|
|
@@ -42,6 +42,17 @@ extern "C" {
|
|
/** INTERFACE **/
|
|
|
|
using namespace Exiv2;
|
|
+
|
|
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
+typedef Exiv2::Error Exiv2Error;
|
|
+typedef Image::UniquePtr ImagePtr;
|
|
+#define EXIV2_TO_INT toInt64
|
|
+#else
|
|
+typedef Exiv2::AnyError Exiv2Error;
|
|
+typedef Image::AutoPtr ImagePtr;
|
|
+#define EXIV2_TO_INT toLong
|
|
+#endif
|
|
+
|
|
static void setup_read_icc_profile (j_decompress_ptr cinfo);
|
|
static boolean read_icc_profile (j_decompress_ptr cinfo, JOCTET **icc_data_ptr, unsigned int *icc_data_len);
|
|
|
|
@@ -155,7 +166,7 @@ jpeg_fail:
|
|
#endif
|
|
|
|
try {
|
|
- Image::AutoPtr img = ImageFactory::open(filename);
|
|
+ ImagePtr img = ImageFactory::open(filename);
|
|
img->readMetadata();
|
|
ExifData &exifData = img->exifData();
|
|
*gamma_guess = 2.2f;
|
|
@@ -173,13 +184,13 @@ jpeg_fail:
|
|
ExifData::const_iterator i;
|
|
i = exifData.findKey(ExifKey("Exif.Image.BitsPerSample"));
|
|
if (i != exifData.end())
|
|
- if (i->toLong() == 16)
|
|
+ if (i->EXIV2_TO_INT() == 16)
|
|
*gamma_guess = 1.0f;
|
|
|
|
i = exifData.findKey(ExifKey("Exif.Photo.ColorSpace"));
|
|
if (i != exifData.end())
|
|
{
|
|
- if (i->toLong() == 1)
|
|
+ if (i->EXIV2_TO_INT() == 1)
|
|
return rs_color_space_new_singleton("RSSrgb");
|
|
}
|
|
|
|
@@ -188,12 +199,21 @@ jpeg_fail:
|
|
if (i != exifData.end())
|
|
{
|
|
DataBuf buf(i->size());
|
|
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
+ i->copy(buf.data(), Exiv2::invalidByteOrder);
|
|
+ if (buf.c_str() && buf.size())
|
|
+ {
|
|
+ RSIccProfile *icc = rs_icc_profile_new_from_memory((gchar*)buf.c_str(), buf.size(), TRUE);
|
|
+ return rs_color_space_icc_new_from_icc(icc);
|
|
+ }
|
|
+#else
|
|
i->copy(buf.pData_, Exiv2::invalidByteOrder);
|
|
if (buf.pData_ && buf.size_)
|
|
{
|
|
RSIccProfile *icc = rs_icc_profile_new_from_memory((gchar*)buf.pData_, buf.size_, TRUE);
|
|
return rs_color_space_icc_new_from_icc(icc);
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
i = exifData.findKey(ExifKey("Exif.Iop.InteroperabilityIndex"));
|
|
@@ -204,7 +224,7 @@ jpeg_fail:
|
|
return rs_color_space_new_singleton("RSAdobeRGB");
|
|
}
|
|
}
|
|
- } catch (Exiv2::Error& e) {
|
|
+ } catch (Exiv2Error& e) {
|
|
g_debug("Exiv2 ColorSpace Loader:'%s", e.what());
|
|
}
|
|
g_debug("Exiv2 ColorSpace Loader: Could not determine colorspace, assume sRGB.");
|
|
diff --git a/plugins/load-png/exiv2-colorspace.cpp b/plugins/load-png/exiv2-colorspace.cpp
|
|
index c2c87fbb..efda2ddc 100644
|
|
--- a/plugins/load-png/exiv2-colorspace.cpp
|
|
+++ b/plugins/load-png/exiv2-colorspace.cpp
|
|
@@ -42,6 +42,17 @@ extern "C" {
|
|
/** INTERFACE **/
|
|
|
|
using namespace Exiv2;
|
|
+
|
|
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
+typedef Exiv2::Error Exiv2Error;
|
|
+typedef Image::UniquePtr ImagePtr;
|
|
+#define EXIV2_TO_INT toInt64
|
|
+#else
|
|
+typedef Exiv2::AnyError Exiv2Error;
|
|
+typedef Image::AutoPtr ImagePtr;
|
|
+#define EXIV2_TO_INT toLong
|
|
+#endif
|
|
+
|
|
static void setup_read_icc_profile (j_decompress_ptr cinfo);
|
|
static boolean read_icc_profile (j_decompress_ptr cinfo, JOCTET **icc_data_ptr, unsigned int *icc_data_len);
|
|
|
|
@@ -155,7 +166,7 @@ jpeg_fail:
|
|
#endif
|
|
|
|
try {
|
|
- Image::AutoPtr img = ImageFactory::open(filename);
|
|
+ ImagePtr img = ImageFactory::open(filename);
|
|
img->readMetadata();
|
|
ExifData &exifData = img->exifData();
|
|
*gamma_guess = 2.2f;
|
|
@@ -173,13 +184,13 @@ jpeg_fail:
|
|
ExifData::const_iterator i;
|
|
i = exifData.findKey(ExifKey("Exif.Image.BitsPerSample"));
|
|
if (i != exifData.end())
|
|
- if (i->toLong() == 16)
|
|
+ if (i->EXIV2_TO_INT() == 16)
|
|
*gamma_guess = 1.0f;
|
|
|
|
i = exifData.findKey(ExifKey("Exif.Photo.ColorSpace"));
|
|
if (i != exifData.end())
|
|
{
|
|
- if (i->toLong() == 1)
|
|
+ if (i->EXIV2_TO_INT() == 1)
|
|
return rs_color_space_new_singleton("RSSrgb");
|
|
}
|
|
|
|
@@ -188,12 +199,21 @@ jpeg_fail:
|
|
if (i != exifData.end())
|
|
{
|
|
DataBuf buf(i->size());
|
|
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
+ i->copy(buf.data(), Exiv2::invalidByteOrder);
|
|
+ if (buf.c_str() && buf.size())
|
|
+ {
|
|
+ RSIccProfile *icc = rs_icc_profile_new_from_memory((gchar*)buf.c_str(), buf.size(), TRUE);
|
|
+ return rs_color_space_icc_new_from_icc(icc);
|
|
+ }
|
|
+#else
|
|
i->copy(buf.pData_, Exiv2::invalidByteOrder);
|
|
if (buf.pData_ && buf.size_)
|
|
{
|
|
RSIccProfile *icc = rs_icc_profile_new_from_memory((gchar*)buf.pData_, buf.size_, TRUE);
|
|
return rs_color_space_icc_new_from_icc(icc);
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
i = exifData.findKey(ExifKey("Exif.Iop.InteroperabilityIndex"));
|
|
@@ -204,7 +224,7 @@ jpeg_fail:
|
|
return rs_color_space_new_singleton("RSAdobeRGB");
|
|
}
|
|
}
|
|
- } catch (Exiv2::Error& e) {
|
|
+ } catch (Exiv2Error& e) {
|
|
g_debug("Exiv2 ColorSpace Loader:'%s", e.what());
|
|
}
|
|
g_debug("Exiv2 ColorSpace Loader: Could not determine colorspace, assume sRGB.");
|
|
diff --git a/plugins/meta-exiv2/exiv2-metadata.cpp b/plugins/meta-exiv2/exiv2-metadata.cpp
|
|
index b757a575..2aace0b6 100644
|
|
--- a/plugins/meta-exiv2/exiv2-metadata.cpp
|
|
+++ b/plugins/meta-exiv2/exiv2-metadata.cpp
|
|
@@ -44,6 +44,18 @@ extern "C" {
|
|
|
|
using namespace Exiv2;
|
|
|
|
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
+typedef Exiv2::Error Exiv2Error;
|
|
+typedef Image::UniquePtr ImagePtr;
|
|
+typedef Value::UniquePtr ValuePtr;
|
|
+#define EXIV2_TO_INT toInt64
|
|
+#else
|
|
+typedef Exiv2::AnyError Exiv2Error;
|
|
+typedef Image::AutoPtr ImagePtr;
|
|
+typedef Value::AutoPtr ValuePtr;
|
|
+#define EXIV2_TO_INT toLong
|
|
+#endif
|
|
+
|
|
static void
|
|
set_metadata_maker(std::string maker, RSMetadata *meta)
|
|
{
|
|
@@ -93,7 +105,7 @@ gboolean
|
|
exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset, RSMetadata *meta)
|
|
{
|
|
try {
|
|
- Image::AutoPtr img = ImageFactory::open((byte*)raw_get_map(rawfile), raw_get_filesize(rawfile));
|
|
+ ImagePtr img = ImageFactory::open((byte*)raw_get_map(rawfile), raw_get_filesize(rawfile));
|
|
img->readMetadata();
|
|
ExifData &exifData = img->exifData();
|
|
|
|
@@ -120,10 +132,10 @@ exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset,
|
|
i = orientation(exifData);
|
|
if (i != exifData.end())
|
|
{
|
|
- std::auto_ptr<Exiv2::Value> val = i->getValue();
|
|
+ ValuePtr val = i->getValue();
|
|
if (val->count())
|
|
{
|
|
- switch (val->toLong())
|
|
+ switch (val->EXIV2_TO_INT())
|
|
{
|
|
case 6: meta->orientation = 90;
|
|
break;
|
|
@@ -176,7 +188,7 @@ exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset,
|
|
#if EXIV2_TEST_VERSION(0,19,0)
|
|
i = isoSpeed(exifData);
|
|
if (i != exifData.end())
|
|
- meta->iso = i->toLong();
|
|
+ meta->iso = i->EXIV2_TO_INT();
|
|
|
|
/* Text based Lens Identifier */
|
|
i = lensName(exifData);
|
|
@@ -184,7 +196,7 @@ exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset,
|
|
{
|
|
TypeId type = i->typeId();
|
|
if (type == unsignedShort || type == unsignedLong || type == signedShort || type == signedLong || type == unsignedByte || type == signedByte)
|
|
- meta->lens_id = i->toLong();
|
|
+ meta->lens_id = i->EXIV2_TO_INT();
|
|
else if (type == asciiString || type == string)
|
|
meta->fixed_lens_identifier = g_strdup(i->toString().c_str());
|
|
}
|
|
@@ -226,7 +238,7 @@ exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset,
|
|
if (i == exifData.end())
|
|
i = exifData.findKey(ExifKey("Exif.NikonLd3.MinFocalLength"));
|
|
if (i != exifData.end())
|
|
- meta->lens_min_focal = 5.0 * pow(2.0, i->toLong()/24.0);
|
|
+ meta->lens_min_focal = 5.0 * pow(2.0, i->EXIV2_TO_INT()/24.0);
|
|
|
|
i = exifData.findKey(ExifKey("Exif.NikonLd1.MaxFocalLength"));
|
|
if (i == exifData.end())
|
|
@@ -234,7 +246,7 @@ exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset,
|
|
if (i == exifData.end())
|
|
i = exifData.findKey(ExifKey("Exif.NikonLd3.MaxFocalLength"));
|
|
if (i != exifData.end())
|
|
- meta->lens_max_focal = 5.0 * pow(2.0, i->toLong()/24.0);
|
|
+ meta->lens_max_focal = 5.0 * pow(2.0, i->EXIV2_TO_INT()/24.0);
|
|
|
|
i = exifData.findKey(ExifKey("Exif.NikonLd1.MaxApertureAtMinFocal"));
|
|
if (i == exifData.end())
|
|
@@ -242,7 +254,7 @@ exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset,
|
|
if (i == exifData.end())
|
|
i = exifData.findKey(ExifKey("Exif.NikonLd3.MaxApertureAtMinFocal"));
|
|
if (i != exifData.end())
|
|
- meta->lens_min_aperture = i->toLong()/12.0;
|
|
+ meta->lens_min_aperture = i->EXIV2_TO_INT()/12.0;
|
|
|
|
i = exifData.findKey(ExifKey("Exif.NikonLd1.MaxApertureAtMaxFocal"));
|
|
if (i == exifData.end())
|
|
@@ -250,7 +262,7 @@ exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset,
|
|
if (i == exifData.end())
|
|
i = exifData.findKey(ExifKey("Exif.NikonLd3.MaxApertureAtMaxFocal"));
|
|
if (i != exifData.end())
|
|
- meta->lens_max_aperture = i->toLong()/12.0;
|
|
+ meta->lens_max_aperture = i->EXIV2_TO_INT()/12.0;
|
|
|
|
/* Fuji */
|
|
i = exifData.findKey(ExifKey("Exif.Fujifilm.MinFocalLength"));
|
|
@@ -262,7 +274,7 @@ exiv2_load_meta_interface(const gchar *service, RAWFILE *rawfile, guint offset,
|
|
|
|
return TRUE;
|
|
}
|
|
- } catch (Exiv2::Error& e) {
|
|
+ } catch (Exiv2Error& e) {
|
|
g_debug("Exiv2 Metadata Loader:'%s'", e.what());
|
|
}
|
|
return FALSE;
|
|
--
|
|
2.41.0
|
|
|