diff --git a/src/Exif/ExifOperations.cpp b/src/Exif/ExifOperations.cpp index dd3d22a6..4cfe6b70 100644 --- a/src/Exif/ExifOperations.cpp +++ b/src/Exif/ExifOperations.cpp @@ -108,7 +108,11 @@ void copyExifData(const std::string &from, const std::string &to, #endif try { +#if EXIV2_TEST_VERSION (0, 28, 0) + Exiv2::Image::UniquePtr sourceImage; +#else Exiv2::Image::AutoPtr sourceImage; +#endif Exiv2::ExifData srcExifData; if (!from.empty()) { @@ -128,7 +132,11 @@ void copyExifData(const std::string &from, const std::string &to, } // get destination exif data +#if EXIV2_TEST_VERSION (0, 28, 0) + Exiv2::Image::UniquePtr destinationImage = Exiv2::ImageFactory::open(to); +#else Exiv2::Image::AutoPtr destinationImage = Exiv2::ImageFactory::open(to); +#endif if (dontOverwrite) { // doesn't throw anything if it is empty @@ -212,7 +220,11 @@ void copyExifData(const std::string &from, const std::string &to, destinationImage->setExifData(srcExifData); } destinationImage->writeMetadata(); +#if EXIV2_TEST_VERSION (0, 28, 0) + } catch (Exiv2::Error &e) { +#else } catch (Exiv2::AnyError &e) { +#endif #ifndef NDEBUG qDebug() << e.what(); #endif @@ -338,7 +350,11 @@ allowed for ev computation purposes. float getExposureTime(const std::string &filename) { try { +#if EXIV2_TEST_VERSION (0, 28, 0) + Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename); +#else Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename); +#endif image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); if (exifData.empty()) return -1; @@ -374,14 +390,22 @@ float getExposureTime(const std::string &filename) { } else { return -1; } +#if EXIV2_TEST_VERSION (0, 28, 0) + } catch (Exiv2::Error &e) { +#else } catch (Exiv2::AnyError &e) { +#endif return -1; } } float getAverageLuminance(const std::string &filename) { try { +#if EXIV2_TEST_VERSION (0, 28, 0) + Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename); +#else Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename); +#endif image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); @@ -403,7 +427,11 @@ float getAverageLuminance(const std::string &filename) { << std::endl; return -1.0; +#if EXIV2_TEST_VERSION (0, 28, 0) + } catch (Exiv2::Error &e) { +#else } catch (Exiv2::AnyError &e) { +#endif return -1.0; } } diff --git a/src/Libpfs/exif/exifdata.cpp b/src/Libpfs/exif/exifdata.cpp index 38472eff..79085e43 100644 --- a/src/Libpfs/exif/exifdata.cpp +++ b/src/Libpfs/exif/exifdata.cpp @@ -52,7 +52,11 @@ ExifData::ExifData(const std::string &filename) { fromFile(filename); } void ExifData::fromFile(const std::string &filename) { reset(); try { +#if EXIV2_TEST_VERSION (0, 28, 0) + ::Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename); +#else ::Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename); +#endif image->readMetadata(); ::Exiv2::ExifData &exifData = image->exifData(); @@ -121,7 +125,11 @@ void ExifData::fromFile(const std::string &filename) { */ if ((it = exifData.findKey(Exiv2::ExifKey("Exif.Image.Orientation"))) != exifData.end()) { +#if EXIV2_TEST_VERSION (0, 28, 0) + long rotation = it->toUint32(); +#else long rotation = it->toLong(); +#endif switch (rotation) { case 3: m_orientation = 180; @@ -134,7 +142,11 @@ void ExifData::fromFile(const std::string &filename) { break; } } +#if EXIV2_TEST_VERSION (0, 28, 0) + } catch (Exiv2::Error &e) { +#else } catch (Exiv2::AnyError &e) { +#endif return; } } diff --git a/src/TransplantExif/TransplantExifDialog.cpp b/src/TransplantExif/TransplantExifDialog.cpp index 8364b595..a7683703 100644 --- a/src/TransplantExif/TransplantExifDialog.cpp +++ b/src/TransplantExif/TransplantExifDialog.cpp @@ -347,7 +347,11 @@ void TransplantExifDialog::transplant_requested() { QFile::encodeName((*i_dest)).constData(), m_Ui->checkBox_dont_overwrite->isChecked()); m_Ui->rightlist->item(index)->setBackground(QBrush("#a0ff87")); +#if EXIV2_TEST_VERSION (0, 28, 0) + } catch (Exiv2::Error &e) { +#else } catch (Exiv2::AnyError &e) { +#endif add_log_message("ERROR:" + QString::fromStdString(e.what())); m_Ui->rightlist->item(index)->setBackground(QBrush("#ff743d")); }