forked from pool/krita
Accepting request 685567 from home:wolfi323:branches:KDE:Extra
- Update to 4.1.8: * Be the top handler for .kra files by default (kde#337272) * Disable forked xcb implementation with Qt 5.12 and up, as it no longer works * Remove connection to a non-existent signal * Fix building against exiv2-0.27 (kde#402566) * Remove splash screen options now and always close when krita finishes loading * Deref image shared pointers before calling ~KisDocument (kde#396985) * overview docker: preserve aspect ratio and don't stretch when some layers are hidden * Resize the HUD after adding options for the first time (kde#402296) * Remove default shortcut for the text tool (kde#402270) - Drop patches merged upstream: * Fix-building-against-exiv2-0.27.patch * Fix-the-exiv2-fix.patch - Drop 0001-Fix-popup-palette-with-Qt-5.9.4.patch, the bug in Qt has been fixed via a maintenance update meanwhile OBS-URL: https://build.opensuse.org/request/show/685567 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/krita?expand=0&rev=93
This commit is contained in:
parent
fd2a37e0a1
commit
1c52e8f420
@ -1,33 +0,0 @@
|
|||||||
From 959ce0c5514ea6456fca99a52b0d9b131f5b9353 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Wolfgang Bauer <wbauer@tmo.at>
|
|
||||||
Date: Tue, 8 Jan 2019 10:13:22 +0100
|
|
||||||
Subject: [PATCH] Fix popup palette with Qt 5.9.4
|
|
||||||
References: boo#1120639
|
|
||||||
References: QTBUG-66803
|
|
||||||
|
|
||||||
This works around a regression in Qt 5.9.4 (fixed in 5.9.5) that causes
|
|
||||||
krita's popup palette to be cropped when the opacity is set to 1.0, by
|
|
||||||
setting it to 0.999 instead.
|
|
||||||
---
|
|
||||||
libs/ui/kis_popup_palette.cpp | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/libs/ui/kis_popup_palette.cpp b/libs/ui/kis_popup_palette.cpp
|
|
||||||
index bcb5301b6e..efa7647817 100644
|
|
||||||
--- a/libs/ui/kis_popup_palette.cpp
|
|
||||||
+++ b/libs/ui/kis_popup_palette.cpp
|
|
||||||
@@ -611,7 +611,11 @@ void KisPopupPalette::paintEvent(QPaintEvent* e)
|
|
||||||
if(m_isRotatingCanvasIndicator || m_isZoomingCanvas) {
|
|
||||||
opacityChange->setOpacity(0.4);
|
|
||||||
} else {
|
|
||||||
+#if QT_VERSION == QT_VERSION_CHECK(5,9,4)
|
|
||||||
+ opacityChange->setOpacity(0.999);
|
|
||||||
+#else
|
|
||||||
opacityChange->setOpacity(1.0);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.16.4
|
|
||||||
|
|
@ -1,442 +0,0 @@
|
|||||||
From 6b6758bb37da4997be36a7e2a839b07278160559 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
|
|
||||||
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 <boud@valdyas.org>
|
|
||||||
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, <neundorf@kde.org>
|
|
||||||
-# Copyright (c) 2008, Gilles Caulier, <caulier.gilles@gmail.com>
|
|
||||||
-#
|
|
||||||
-# 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, <christophe@krop.fr>
|
|
||||||
+# Copyright (c) 2010, Alexander Neundorf, <neundorf@kde.org>
|
|
||||||
+# Copyright (c) 2008, Gilles Caulier, <caulier.gilles@gmail.com>
|
|
||||||
+#
|
|
||||||
+#
|
|
||||||
+# 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
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
From 2b4671f64e35bee3a6ea4ad962570781336ff267 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Boudewijn Rempt <boud@valdyas.org>
|
|
||||||
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
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c16ec0dd23cdf20e9dd4d34ebabcf5bdb06a825bd6fe2c7196d6777279bdabd0
|
|
||||||
size 243969623
|
|
3
krita-4.1.8.tar.gz
Normal file
3
krita-4.1.8.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0476c9e2279f0ae690c2ed02e1aa9c3d491943643f9859355a02657318bd5940
|
||||||
|
size 244065767
|
@ -1,3 +1,27 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 6 14:24:12 UTC 2019 - wbauer@tmo.at
|
||||||
|
|
||||||
|
- Update to 4.1.8:
|
||||||
|
* Be the top handler for .kra files by default (kde#337272)
|
||||||
|
* Disable forked xcb implementation with Qt 5.12 and up, as it
|
||||||
|
no longer works
|
||||||
|
* Remove connection to a non-existent signal
|
||||||
|
* Fix building against exiv2-0.27 (kde#402566)
|
||||||
|
* Remove splash screen options now and always close when krita
|
||||||
|
finishes loading
|
||||||
|
* Deref image shared pointers before calling ~KisDocument
|
||||||
|
(kde#396985)
|
||||||
|
* overview docker: preserve aspect ratio and don't stretch when
|
||||||
|
some layers are hidden
|
||||||
|
* Resize the HUD after adding options for the first time
|
||||||
|
(kde#402296)
|
||||||
|
* Remove default shortcut for the text tool (kde#402270)
|
||||||
|
- Drop patches merged upstream:
|
||||||
|
* Fix-building-against-exiv2-0.27.patch
|
||||||
|
* Fix-the-exiv2-fix.patch
|
||||||
|
- Drop 0001-Fix-popup-palette-with-Qt-5.9.4.patch, the bug in Qt
|
||||||
|
has been fixed via a maintenance update meanwhile
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jan 8 09:23:29 UTC 2019 - wbauer@tmo.at
|
Tue Jan 8 09:23:29 UTC 2019 - wbauer@tmo.at
|
||||||
|
|
||||||
|
11
krita.spec
11
krita.spec
@ -26,7 +26,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: krita
|
Name: krita
|
||||||
Version: 4.1.7
|
Version: 4.1.8
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Digital Painting Application
|
Summary: Digital Painting Application
|
||||||
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||||
@ -35,12 +35,6 @@ Url: http://www.krita.org/
|
|||||||
Source0: http://download.kde.org/stable/krita/%{version}/krita-%{version}.tar.gz
|
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-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_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
|
|
||||||
# PATCH-FIX-OPENSUSE
|
|
||||||
Patch3: 0001-Fix-popup-palette-with-Qt-5.9.4.patch
|
|
||||||
BuildRequires: Mesa-devel
|
BuildRequires: Mesa-devel
|
||||||
BuildRequires: OpenColorIO-devel
|
BuildRequires: OpenColorIO-devel
|
||||||
BuildRequires: OpenEXR-devel
|
BuildRequires: OpenEXR-devel
|
||||||
@ -140,9 +134,6 @@ Development headers and libraries for Krita.
|
|||||||
%if 0%{?suse_version} < 1320
|
%if 0%{?suse_version} < 1320
|
||||||
%patch
|
%patch
|
||||||
%endif
|
%endif
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# install translations to %%{_kf5_localedir} so they don't clash with the krita translations in calligra-l10n (KDE4 based)
|
# install translations to %%{_kf5_localedir} so they don't clash with the krita translations in calligra-l10n (KDE4 based)
|
||||||
|
Loading…
Reference in New Issue
Block a user