File Fixed-compilation-with-exiv2-0.28.patch of Package kphotoalbum4
From b1719d6b337059e070b2db812eb3b747a3e5a627 Mon Sep 17 00:00:00 2001
From: Tobias Leupold <tl@stonemx.de>
Date: Sat, 20 May 2023 22:33:44 +0200
Subject: [PATCH] Fixed compilation with exiv2 0.28
---
DB/FileInfo.cpp | 11 ++++++++++-
lib/kpaexif/Database.cpp | 13 +++++++++++--
lib/kpaexif/DatabaseElement.cpp | 21 ++++++++++++++-------
lib/kpaexif/Info.cpp | 9 +++++++++
4 files changed, 44 insertions(+), 10 deletions(-)
diff --git a/DB/FileInfo.cpp b/DB/FileInfo.cpp
index dc4c9819b..ca18ddc2f 100644
--- a/DB/FileInfo.cpp
+++ b/DB/FileInfo.cpp
@@ -22,6 +22,7 @@
#include <config-kpa-exiv2.h>
#ifdef HAVE_EXIV2
# include "Exif/Info.h"
+#include <exiv2/version.hpp>
#endif
#include <kfilemetainfo.h>
@@ -87,8 +88,14 @@ void DB::FileInfo::parseEXIV2(const DB::FileName &fileName)
const Exiv2::Exifdatum& datum = map["Exif.Image.Orientation"];
int orientation = 0;
- if (datum.count() > 0)
+ if (datum.count() > 0) {
+#if EXIV2_TEST_VERSION(0, 28, 0)
+ orientation = datum.toInt64();
+#else
orientation = datum.toLong();
+#endif
+ }
+
m_angle = orientationToAngle( orientation );
}
diff --git a/Exif/Database.cpp b/Exif/Database.cpp
index 4d0e228c7..930d1c8ed 100644
--- a/Exif/Database.cpp
+++ b/Exif/Database.cpp
@@ -24,6 +24,7 @@
#include <exiv2/exif.hpp>
#include <exiv2/image.hpp>
+#include <exiv2/version.hpp>
#include <klocale.h>
#include <kmessagebox.h>
@@ -208,7 +209,11 @@ bool Exif::Database::add( const DB::FileName& fileName )
return false;
try {
+#if EXIV2_TEST_VERSION(0, 28, 0)
+ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data());
+#else
Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fileName.absolute().toLocal8Bit().data());
+#endif
Q_ASSERT(image.get() != nullptr);
image->readMetadata();
Exiv2::ExifData &exifData = image->exifData();
diff --git a/Exif/DatabaseElement.cpp b/Exif/DatabaseElement.cpp
index 4e7ba198e..e218bb5e1 100644
--- a/Exif/DatabaseElement.cpp
+++ b/Exif/DatabaseElement.cpp
@@ -17,6 +17,7 @@
*/
#include "DatabaseElement.h"
#include <exiv2/exif.hpp>
+#include <exiv2/version.hpp>
#include <QVariant>
#include <QDebug>
@@ -98,10 +99,15 @@ QString Exif::IntExifElement::queryString() const
QVariant Exif::IntExifElement::valueFromExif(Exiv2::ExifData &data) const
{
- if (data[m_tag].count() > 0)
- return QVariant{ (int) data[m_tag].toLong() };
- else
- return QVariant{ (int) 0 };
+ if (data[m_tag].count() > 0) {
+#if EXIV2_TEST_VERSION(0, 28, 0)
+ return QVariant((int) data[m_tag].toInt64());
+#else
+ return QVariant((int) data[m_tag].toLong());
+#endif
+ } else {
+ return QVariant(0);
+ }
}
diff --git a/Exif/Info.cpp b/Exif/Info.cpp
index 5f77fc814..d72d88b31 100644
--- a/Exif/Info.cpp
+++ b/Exif/Info.cpp
@@ -187,7 +193,11 @@ Info::Info()
void Exif::Info::writeInfoToFile( const DB::FileName& srcName, const QString& destName )
{
// Load Exif from source image
+#if EXIV2_TEST_VERSION(0, 28, 0)
+ Exiv2::Image::UniquePtr image =
+#else
Exiv2::Image::AutoPtr image =
+#endif
Exiv2::ImageFactory::open( QFile::encodeName(srcName.absolute()).data() );
image->readMetadata();
Exiv2::ExifData data = image->exifData();
@@ -224,7 +234,11 @@ Exif::Metadata Exif::Info::metadata( const DB::FileName& fileName )
{
try {
Exif::Metadata result;
+#if EXIV2_TEST_VERSION(0, 28, 0)
+ Exiv2::Image::UniquePtr image =
+#else
Exiv2::Image::AutoPtr image =
+#endif
Exiv2::ImageFactory::open( QFile::encodeName(fileName.absolute()).data() );
Q_ASSERT(image.get() != 0);
image->readMetadata();
--
GitLab