Hello community,

here is the log from the commit of package krita for openSUSE:Factory checked 
in at 2019-01-05 14:42:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/krita (Old)
 and      /work/SRC/openSUSE:Factory/.krita.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "krita"

Sat Jan  5 14:42:11 2019 rev:32 rq:662711 version:4.1.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/krita/krita.changes      2018-12-18 
14:59:47.518124701 +0100
+++ /work/SRC/openSUSE:Factory/.krita.new.28833/krita.changes   2019-01-05 
14:42:15.408485406 +0100
@@ -1,0 +2,13 @@
+Thu Jan  3 11:01:20 UTC 2019 - [email protected]
+
+- Add Fix-the-exiv2-fix.patch to fix a bug in the previous patch
+  that could cause crashes when opening certain JPG files (that
+  contain XMP tags)
+
+-------------------------------------------------------------------
+Sun Dec 30 11:56:22 UTC 2018 - [email protected]
+
+- Add Fix-building-against-exiv2-0.27.patch to fix build with
+  exiv2-0.27.0
+
+-------------------------------------------------------------------

New:
----
  Fix-building-against-exiv2-0.27.patch
  Fix-the-exiv2-fix.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ krita.spec ++++++
--- /var/tmp/diff_new_pack.GtXXCn/_old  2019-01-05 14:42:19.400482016 +0100
+++ /var/tmp/diff_new_pack.GtXXCn/_new  2019-01-05 14:42:19.400482016 +0100
@@ -35,6 +35,10 @@
 Source0:        
http://download.kde.org/stable/krita/%{version}/krita-%{version}.tar.gz
 # PATCH-FIX-OPENSUSE fix_libgif_5_0_build.patch -- Trivial fix to make Krita 
link against libgif 5.0.x in openSUSE Leap 42.3
 Patch:          fix_libgif_5_0_build.patch
+# PATCH-FIX-UPSTREAM
+Patch1:         Fix-building-against-exiv2-0.27.patch
+# PATCH-FIX-UPSTREAM
+Patch2:         Fix-the-exiv2-fix.patch
 BuildRequires:  Mesa-devel
 BuildRequires:  OpenColorIO-devel
 BuildRequires:  OpenEXR-devel
@@ -134,6 +138,8 @@
 %if 0%{?suse_version} < 1320
 %patch
 %endif
+%patch1 -p1
+%patch2 -p1
 
 %build
 # install translations to %%{_kf5_localedir} so they don't clash with the 
krita translations in calligra-l10n (KDE4 based)

++++++ Fix-building-against-exiv2-0.27.patch ++++++
>From 6b6758bb37da4997be36a7e2a839b07278160559 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <[email protected]>
Date: Thu, 27 Dec 2018 22:40:44 +0100
Subject: Fix building against exiv2-0.27

Summary:
Copied FindLibExiv2.cmake from ECM 5.53.0 until we raise min version.

Thanks-to: Boudewijn Rempt <[email protected]>
for final fix to kis_xmp_io.cpp.

CCBUG: 402566

Test Plan: Built fine against exiv2-0.26 and exiv2-0.27.

Reviewers: #krita, rempt

Reviewed By: #krita, rempt

Subscribers: pino

Tags: #krita

Differential Revision: https://phabricator.kde.org/D17810
---
 CMakeLists.txt                    |   6 +-
 cmake/modules/FindExiv2.cmake     |  80 --------------------------
 cmake/modules/FindLibExiv2.cmake  | 115 ++++++++++++++++++++++++++++++++++++++
 libs/ui/CMakeLists.txt            |   3 +-
 libs/ui/kisexiv2/kis_exif_io.cpp  |  14 ++---
 libs/ui/kisexiv2/kis_exiv2.h      |   2 +-
 libs/ui/kisexiv2/kis_iptc_io.cpp  |   4 +-
 libs/ui/kisexiv2/kis_xmp_io.cpp   |   6 +-
 plugins/impex/jpeg/CMakeLists.txt |   5 +-
 9 files changed, 130 insertions(+), 105 deletions(-)
 delete mode 100644 cmake/modules/FindExiv2.cmake
 create mode 100644 cmake/modules/FindLibExiv2.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5558088..b2d2cd4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -592,11 +592,7 @@ set_package_properties(Eigen3 PROPERTIES
 ##
 ## Test for exiv2
 ##
-find_package(Exiv2 0.16 REQUIRED)
-set_package_properties(Exiv2 PROPERTIES
-    DESCRIPTION "Image metadata library and tools"
-    URL "http://www.exiv2.org";
-    PURPOSE "Required by Krita")
+find_package(LibExiv2 0.16 REQUIRED)
 
 ##
 ## Test for lcms
diff --git a/cmake/modules/FindExiv2.cmake b/cmake/modules/FindExiv2.cmake
deleted file mode 100644
index 82cc1c7..0000000
--- a/cmake/modules/FindExiv2.cmake
+++ /dev/null
@@ -1,80 +0,0 @@
-# - Try to find the Exiv2 library
-#
-#  EXIV2_MIN_VERSION - You can set this variable to the minimum version you 
need
-#                      before doing FIND_PACKAGE(Exiv2). The default is 0.12.
-#
-# Once done this will define
-#
-#  EXIV2_FOUND - system has libexiv2
-#  EXIV2_INCLUDE_DIR - the libexiv2 include directory
-#  EXIV2_LIBRARIES - Link these to use libexiv2
-#  EXIV2_DEFINITIONS - Compiler switches required for using libexiv2
-#
-# The minimum required version of Exiv2 can be specified using the
-# standard syntax, e.g. find_package(Exiv2 0.17)
-#
-# For compatibility, also the variable EXIV2_MIN_VERSION can be set to the 
minimum version
-# you need before doing FIND_PACKAGE(Exiv2). The default is 0.12.
-
-# Copyright (c) 2010, Alexander Neundorf, <[email protected]>
-# Copyright (c) 2008, Gilles Caulier, <[email protected]>
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-# Support EXIV2_MIN_VERSION for compatibility:
-if(NOT Exiv2_FIND_VERSION)
-  set(Exiv2_FIND_VERSION "${EXIV2_MIN_VERSION}")
-endif(NOT Exiv2_FIND_VERSION)
-
-# the minimum version of exiv2 we require
-if(NOT Exiv2_FIND_VERSION)
-  set(Exiv2_FIND_VERSION "0.12")
-endif(NOT Exiv2_FIND_VERSION)
-
-
-if (NOT WIN32)
-   # use pkg-config to get the directories and then use these values
-   # in the FIND_PATH() and FIND_LIBRARY() calls
-   find_package(PkgConfig)
-   pkg_check_modules(PC_EXIV2 QUIET exiv2)
-   set(EXIV2_DEFINITIONS ${PC_EXIV2_CFLAGS_OTHER})
-endif (NOT WIN32)
-
-
-find_path(EXIV2_INCLUDE_DIR NAMES exiv2/exif.hpp
-          HINTS
-          ${PC_EXIV2_INCLUDEDIR}
-          ${PC_EXIV2_INCLUDE_DIRS}
-        )
-
-find_library(EXIV2_LIBRARY NAMES exiv2 libexiv2
-             HINTS
-             ${PC_EXIV2_LIBDIR}
-             ${PC_EXIV2_LIBRARY_DIRS}
-            )
-
-
-# Get the version number from exiv2/version.hpp and store it in the cache:
-if(EXIV2_INCLUDE_DIR  AND NOT  EXIV2_VERSION)
-  file(READ ${EXIV2_INCLUDE_DIR}/exiv2/version.hpp EXIV2_VERSION_CONTENT)
-  string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)"  _dummy 
"${EXIV2_VERSION_CONTENT}")
-  set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
-
-  string(REGEX MATCH "#define EXIV2_MINOR_VERSION +\\( *([0-9]+) *\\)"  _dummy 
"${EXIV2_VERSION_CONTENT}")
-  set(EXIV2_VERSION_MINOR "${CMAKE_MATCH_1}")
-
-  string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)"  _dummy 
"${EXIV2_VERSION_CONTENT}")
-  set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}")
-
-  set(EXIV2_VERSION 
"${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}" CACHE 
STRING "Version number of Exiv2" FORCE)
-endif(EXIV2_INCLUDE_DIR  AND NOT  EXIV2_VERSION)
-
-set(EXIV2_LIBRARIES "${EXIV2_LIBRARY}")
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Exiv2  REQUIRED_VARS  EXIV2_LIBRARY 
EXIV2_INCLUDE_DIR
-                                         VERSION_VAR  EXIV2_VERSION)
-
-mark_as_advanced(EXIV2_INCLUDE_DIR EXIV2_LIBRARY)
-
diff --git a/cmake/modules/FindLibExiv2.cmake b/cmake/modules/FindLibExiv2.cmake
new file mode 100644
index 0000000..935cee2
--- /dev/null
+++ b/cmake/modules/FindLibExiv2.cmake
@@ -0,0 +1,115 @@
+#.rst:
+# FindLibExiv2
+# ------------
+#
+# Try to find the Exiv2 library.
+#
+# This will define the following variables:
+#
+# ``LibExiv2_FOUND``
+#     System has LibExiv2.
+#
+# ``LibExiv2_VERSION``
+#     The version of LibExiv2.
+#
+# ``LibExiv2_INCLUDE_DIRS``
+#     This should be passed to target_include_directories() if
+#     the target is not used for linking.
+#
+# ``LibExiv2_LIBRARIES``
+#     The LibExiv2 library.
+#     This can be passed to target_link_libraries() instead of
+#     the ``LibExiv2::LibExiv2`` target
+#
+# If ``LibExiv2_FOUND`` is TRUE, the following imported target
+# will be available:
+#
+# ``LibExiv2::LibExiv2``
+#     The Exiv2 library
+#
+# Since 5.53.0.
+#
+#=============================================================================
+# Copyright (c) 2018, Christophe Giboudeaux, <[email protected]>
+# Copyright (c) 2010, Alexander Neundorf, <[email protected]>
+# Copyright (c) 2008, Gilles Caulier, <[email protected]>
+#
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#=============================================================================
+
+find_package(PkgConfig QUIET)
+pkg_check_modules(PC_EXIV2 QUIET exiv2)
+
+find_path(LibExiv2_INCLUDE_DIRS NAMES exiv2/exif.hpp
+    HINTS ${PC_EXIV2_INCLUDEDIR}
+)
+
+find_library(LibExiv2_LIBRARIES NAMES exiv2 libexiv2
+    HINTS ${PC_EXIV2_LIBRARY_DIRS}
+)
+
+set(LibExiv2_VERSION ${PC_EXIV2_VERSION})
+
+if(NOT LibExiv2_VERSION AND DEFINED LibExiv2_INCLUDE_DIRS)
+    # With exiv >= 0.27, the version #defines are in exv_conf.h instead of 
version.hpp
+    foreach(_exiv2_version_file "version.hpp" "exv_conf.h")
+        if(EXISTS "${LibExiv2_INCLUDE_DIRS}/exiv2/${_exiv2_version_file}")
+            file(READ "${LibExiv2_INCLUDE_DIRS}/exiv2/${_exiv2_version_file}" 
_exiv_version_file_content)
+            string(REGEX MATCH "#define EXIV2_MAJOR_VERSION[ ]+\\([0-9]+\\)" 
EXIV2_MAJOR_VERSION_MATCH ${_exiv_version_file_content})
+            string(REGEX MATCH "#define EXIV2_MINOR_VERSION[ ]+\\([0-9]+\\)" 
EXIV2_MINOR_VERSION_MATCH ${_exiv_version_file_content})
+            string(REGEX MATCH "#define EXIV2_PATCH_VERSION[ ]+\\([0-9]+\\)" 
EXIV2_PATCH_VERSION_MATCH ${_exiv_version_file_content})
+            if(EXIV2_MAJOR_VERSION_MATCH)
+                string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+\\((.*)\\)" "\\1" 
EXIV2_MAJOR_VERSION ${EXIV2_MAJOR_VERSION_MATCH})
+                string(REGEX REPLACE ".*_MINOR_VERSION[ ]+\\((.*)\\)" "\\1" 
EXIV2_MINOR_VERSION ${EXIV2_MINOR_VERSION_MATCH})
+                string(REGEX REPLACE ".*_PATCH_VERSION[ ]+\\((.*)\\)" "\\1"  
EXIV2_PATCH_VERSION  ${EXIV2_PATCH_VERSION_MATCH})
+            endif()
+        endif()
+    endforeach()
+
+    set(LibExiv2_VERSION 
"${EXIV2_MAJOR_VERSION}.${EXIV2_MINOR_VERSION}.${EXIV2_PATCH_VERSION}")
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LibExiv2
+    FOUND_VAR LibExiv2_FOUND
+    REQUIRED_VARS  LibExiv2_LIBRARIES LibExiv2_INCLUDE_DIRS
+    VERSION_VAR  LibExiv2_VERSION
+)
+
+mark_as_advanced(LibExiv2_INCLUDE_DIRS LibExiv2_LIBRARIES)
+
+if(LibExiv2_FOUND AND NOT TARGET LibExiv2::LibExiv2)
+    add_library(LibExiv2::LibExiv2 UNKNOWN IMPORTED)
+    set_target_properties(LibExiv2::LibExiv2 PROPERTIES
+        IMPORTED_LOCATION "${LibExiv2_LIBRARIES}"
+        INTERFACE_INCLUDE_DIRECTORIES "${LibExiv2_INCLUDE_DIRS}"
+    )
+endif()
+
+include(FeatureSummary)
+set_package_properties(LibExiv2 PROPERTIES
+    URL "http://www.exiv2.org";
+    DESCRIPTION "Image metadata support"
+)
diff --git a/libs/ui/CMakeLists.txt b/libs/ui/CMakeLists.txt
index f14d359..ff57f53 100644
--- a/libs/ui/CMakeLists.txt
+++ b/libs/ui/CMakeLists.txt
@@ -1,6 +1,5 @@
 include_directories(
     ${CMAKE_CURRENT_SOURCE_DIR}/qtlockedfile
-    ${EXIV2_INCLUDE_DIR}
 )
 
 include_directories(SYSTEM
@@ -536,7 +535,7 @@ add_library(kritaui SHARED ${kritaui_HEADERS_MOC} 
${kritaui_LIB_SRCS} )
 generate_export_header(kritaui BASE_NAME kritaui)
 
 target_link_libraries(kritaui KF5::CoreAddons KF5::Completion KF5::I18n 
KF5::ItemViews Qt5::Network
-                      kritaimpex kritacolor kritaimage kritalibbrush 
kritawidgets kritawidgetutils ${PNG_LIBRARIES} ${EXIV2_LIBRARIES}
+                      kritaimpex kritacolor kritaimage kritalibbrush 
kritawidgets kritawidgetutils ${PNG_LIBRARIES} LibExiv2::LibExiv2
 )
 
 if (HAVE_QT_MULTIMEDIA)
diff --git a/libs/ui/kisexiv2/kis_exif_io.cpp b/libs/ui/kisexiv2/kis_exif_io.cpp
index 1a01fed..4a7857aa 100644
--- a/libs/ui/kisexiv2/kis_exif_io.cpp
+++ b/libs/ui/kisexiv2/kis_exif_io.cpp
@@ -438,11 +438,10 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, 
QIODevice* ioDevice, HeaderTyp
                     if (entry.value().asArray().size() > 0) {
                         creator = entry.value().asArray()[0];
                     }
-#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
+#if !EXIV2_TEST_VERSION(0,21,0)
                     v = kmdValueToExivValue(creator, 
Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
 #else
                     v = kmdValueToExivValue(creator, exifKey.defaultTypeId());
-
 #endif
                 } else if (exivKey == "Exif.Photo.OECF") {
                     v = kmdOECFStructureToExifOECF(entry.value());
@@ -456,13 +455,13 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, 
QIODevice* ioDevice, HeaderTyp
                     Q_ASSERT(entry.value().type() == 
KisMetaData::Value::LangArray);
                     QMap<QString, KisMetaData::Value> langArr = 
entry.value().asLangArray();
                     if (langArr.contains("x-default")) {
-#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
+#if !EXIV2_TEST_VERSION(0,21,0)
                         v = kmdValueToExivValue(langArr.value("x-default"), 
Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
 #else
                         v = kmdValueToExivValue(langArr.value("x-default"), 
exifKey.defaultTypeId());
 #endif
                     } else if (langArr.size() > 0) {
-#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
+#if !EXIV2_TEST_VERSION(0,21,0)
                         v = kmdValueToExivValue(langArr.begin().value(), 
Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
 #else
                         v = kmdValueToExivValue(langArr.begin().value(), 
exifKey.defaultTypeId());
@@ -470,7 +469,7 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, 
QIODevice* ioDevice, HeaderTyp
                     }
                 } else {
                     dbgMetaData << exifKey.tag();
-#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 20
+#if !EXIV2_TEST_VERSION(0,21,0)
                     v = kmdValueToExivValue(entry.value(), 
Exiv2::ExifTags::tagType(exifKey.tag(), exifKey.ifdId()));
 #else
                     v = kmdValueToExivValue(entry.value(), 
exifKey.defaultTypeId());
@@ -487,7 +486,7 @@ bool KisExifIO::saveTo(KisMetaData::Store* store, 
QIODevice* ioDevice, HeaderTyp
             dbgMetaData << "exiv error " << e.what();
         }
     }
-#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
+#if !EXIV2_TEST_VERSION(0,18,0)
     Exiv2::DataBuf rawData = exifData.copy();
     ioDevice->write((const char*) rawData.pData_, rawData.size_);
 #else
@@ -514,7 +513,7 @@ bool KisExifIO::loadFrom(KisMetaData::Store* store, 
QIODevice* ioDevice) const
     QByteArray arr = ioDevice->readAll();
     Exiv2::ExifData exifData;
     Exiv2::ByteOrder byteOrder;
-#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
+#if !EXIV2_TEST_VERSION(0,18,0)
     exifData.load((const Exiv2::byte*)arr.data(), arr.size());
     byteOrder = exifData.byteOrder();
 #else
@@ -529,7 +528,6 @@ bool KisExifIO::loadFrom(KisMetaData::Store* store, 
QIODevice* ioDevice) const
         dbgKrita << "Received unknown exception trying to parse exiv data";
         return false;
     }
-
 #endif
     dbgMetaData << "Byte order = " << byteOrder << ppVar(Exiv2::bigEndian) << 
ppVar(Exiv2::littleEndian);
     dbgMetaData << "There are" << exifData.count() << " entries in the exif 
section";
diff --git a/libs/ui/kisexiv2/kis_exiv2.h b/libs/ui/kisexiv2/kis_exiv2.h
index 9343265..6b66aa7 100644
--- a/libs/ui/kisexiv2/kis_exiv2.h
+++ b/libs/ui/kisexiv2/kis_exiv2.h
@@ -21,7 +21,7 @@
 
 
 #include <metadata/kis_meta_data_value.h>
-#include <exiv2/value.hpp>
+#include <exiv2/exiv2.hpp>
 #include "kritaui_export.h"
 
 /// Convert an exiv value to a KisMetaData value
diff --git a/libs/ui/kisexiv2/kis_iptc_io.cpp b/libs/ui/kisexiv2/kis_iptc_io.cpp
index d2eb7c9..0ac881f 100644
--- a/libs/ui/kisexiv2/kis_iptc_io.cpp
+++ b/libs/ui/kisexiv2/kis_iptc_io.cpp
@@ -126,7 +126,7 @@ bool KisIptcIO::saveTo(KisMetaData::Store* store, 
QIODevice* ioDevice, HeaderTyp
             }
         }
     }
-#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
+#if !EXIV2_TEST_VERSION(0,18,0)
     Exiv2::DataBuf rawData = iptcData.copy();
 #else
     Exiv2::DataBuf rawData = Exiv2::IptcParser::encode(iptcData);
@@ -167,7 +167,7 @@ bool KisIptcIO::loadFrom(KisMetaData::Store* store, 
QIODevice* ioDevice) const
     ioDevice->open(QIODevice::ReadOnly);
     QByteArray arr = ioDevice->readAll();
     Exiv2::IptcData iptcData;
-#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
+#if !EXIV2_TEST_VERSION(0,18,0)
     iptcData.load((const Exiv2::byte*)arr.data(), arr.size());
 #else
     Exiv2::IptcParser::decode(iptcData, (const Exiv2::byte*)arr.data(), 
arr.size());
diff --git a/libs/ui/kisexiv2/kis_xmp_io.cpp b/libs/ui/kisexiv2/kis_xmp_io.cpp
index c4663ef..72fa5c5 100644
--- a/libs/ui/kisexiv2/kis_xmp_io.cpp
+++ b/libs/ui/kisexiv2/kis_xmp_io.cpp
@@ -17,7 +17,6 @@
 #include "kis_xmp_io.h"
 
 #include <string>
-#include <exiv2/xmp.hpp>
 
 #include "kis_exiv2.h"
 
@@ -277,9 +276,8 @@ bool KisXMPIO::loadFrom(KisMetaData::Store* store, 
QIODevice* ioDevice) const
                 const Exiv2::XmpArrayValue* xav = dynamic_cast<const 
Exiv2::XmpArrayValue*>(value.get());
                 Q_ASSERT(xav);
                 QList<KisMetaData::Value> array;
-                for (std::vector< std::string >::const_iterator it = 
xav->value_.begin();
-                        it != xav->value_.end(); ++it) {
-                    QString value = it->c_str();
+                for (int i = 0; i < xav->size(); ++i) {
+                    QString value = QString::fromStdString(xav->toString(i));
                     if (parser) {
                         array.push_back(parser->parse(value));
                     } else {
diff --git a/plugins/impex/jpeg/CMakeLists.txt 
b/plugins/impex/jpeg/CMakeLists.txt
index 347e46d..50edb05 100644
--- a/plugins/impex/jpeg/CMakeLists.txt
+++ b/plugins/impex/jpeg/CMakeLists.txt
@@ -4,7 +4,6 @@ set(ICCJPEG_SOURCE_DIR 
"${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/lcms")
 
 include_directories(
     ${ICCJPEG_SOURCE_DIR}
-    ${EXIV2_INCLUDE_DIR}
 )
 
 include_directories(SYSTEM
@@ -25,7 +24,7 @@ set(kritajpegimport_SOURCES
 
 add_library(kritajpegimport MODULE ${kritajpegimport_SOURCES})
 
-target_link_libraries(kritajpegimport kritaui  ${JPEG_LIBRARIES} 
${LCMS2_LIBRARIES} ${EXIV2_LIBRARIES} )
+target_link_libraries(kritajpegimport kritaui  ${JPEG_LIBRARIES} 
${LCMS2_LIBRARIES} LibExiv2::LibExiv2 )
 
 install(TARGETS kritajpegimport  DESTINATION ${KRITA_PLUGIN_INSTALL_DIR})
 
@@ -38,7 +37,7 @@ ki18n_wrap_ui(kritajpegexport_SOURCES kis_wdg_options_jpeg.ui 
)
 
 add_library(kritajpegexport MODULE ${kritajpegexport_SOURCES})
 
-target_link_libraries(kritajpegexport kritaui kritaimpex ${JPEG_LIBRARIES} 
${LCMS2_LIBRARIES} ${EXIV2_LIBRARIES} )
+target_link_libraries(kritajpegexport kritaui kritaimpex ${JPEG_LIBRARIES} 
${LCMS2_LIBRARIES} LibExiv2::LibExiv2 )
 
 install(TARGETS kritajpegexport  DESTINATION ${KRITA_PLUGIN_INSTALL_DIR})
 install( PROGRAMS  krita_jpeg.desktop  DESTINATION ${XDG_APPS_INSTALL_DIR})
-- 
cgit v1.1

++++++ Fix-the-exiv2-fix.patch ++++++
>From 2b4671f64e35bee3a6ea4ad962570781336ff267 Mon Sep 17 00:00:00 2001
From: Boudewijn Rempt <[email protected]>
Date: Thu, 3 Jan 2019 11:43:56 +0100
Subject: Fix the exiv2 fix...

---
 libs/ui/kisexiv2/kis_xmp_io.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libs/ui/kisexiv2/kis_xmp_io.cpp b/libs/ui/kisexiv2/kis_xmp_io.cpp
index db76f25..d334b05 100644
--- a/libs/ui/kisexiv2/kis_xmp_io.cpp
+++ b/libs/ui/kisexiv2/kis_xmp_io.cpp
@@ -276,7 +276,7 @@ bool KisXMPIO::loadFrom(KisMetaData::Store* store, 
QIODevice* ioDevice) const
                 const Exiv2::XmpArrayValue* xav = dynamic_cast<const 
Exiv2::XmpArrayValue*>(value.get());
                 Q_ASSERT(xav);
                 QList<KisMetaData::Value> array;
-                for (int i = 0; i < xav->size(); ++i) {
+                for (int i = 0; i < xav->count(); ++i) {
                     QString value = QString::fromStdString(xav->toString(i));
                     if (parser) {
                         array.push_back(parser->parse(value));
-- 
cgit v1.1


Reply via email to