From e7bf1f0d299c4f7c6529438059d14e7a99907066 Mon Sep 17 00:00:00 2001
From: Antonio Rojas <arojas@archlinux.org>
Date: Sun, 4 Jun 2023 18:04:59 +0200
Subject: [PATCH] Fix build with exiv2 0.28

Index: plugins/metadata/iptc/kis_iptc_io.cpp
--- plugins/metadata/iptc/kis_iptc_io.cpp.orig
+++ plugins/metadata/iptc/kis_iptc_io.cpp
@@ -110,7 +110,11 @@ bool KisIptcIO::saveTo(KisMetaData::Store *store, QIOD
                 if (v && v->typeId() != Exiv2::invalidTypeId) {
                     iptcData.add(iptcKey, v);
                 }
+#if EXIV2_TEST_VERSION(0,28,0)
+            } catch (Exiv2::Error &e) {
+#else
             } catch (Exiv2::AnyError &e) {
+#endif
                 dbgMetaData << "exiv error " << e.what();
             }
         }
@@ -128,7 +132,11 @@ bool KisIptcIO::saveTo(KisMetaData::Store *store, QIOD
         header.append(photoshopBimId_);
         header.append(photoshopIptc_);
         header.append(QByteArray(2, 0));
+#if EXIV2_TEST_VERSION(0, 28, 0)
+        qint32 size = rawData.size();
+#else
         qint32 size = rawData.size_;
+#endif
         QByteArray sizeArray(4, 0);
         sizeArray[0] = (char)((size & 0xff000000) >> 24);
         sizeArray[1] = (char)((size & 0x00ff0000) >> 16);
@@ -138,7 +146,11 @@ bool KisIptcIO::saveTo(KisMetaData::Store *store, QIOD
         ioDevice->write(header);
     }
 
+#if EXIV2_TEST_VERSION(0, 28, 0)
+    ioDevice->write((const char *)rawData.data(), rawData.size());
+#else
     ioDevice->write((const char *)rawData.pData_, rawData.size_);
+#endif
     ioDevice->close();
     return true;
 }
