From 812e69b1d28fce636019581d7eaad974d8bba8ff Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Jun 05 2019 18:40:27 +0000 Subject: 19.04.2 --- diff --git a/.gitignore b/.gitignore index bfc2192..ee15fa4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /gwenview-18.12.2.tar.xz /gwenview-18.12.3.tar.xz +/gwenview-19.04.2.tar.xz diff --git a/0007-Use-forward-declaration-for-Exiv2-Image-port-to-std-.patch b/0007-Use-forward-declaration-for-Exiv2-Image-port-to-std-.patch deleted file mode 100644 index 1cbe914..0000000 --- a/0007-Use-forward-declaration-for-Exiv2-Image-port-to-std-.patch +++ /dev/null @@ -1,477 +0,0 @@ -From 61543b42289fc986e580f2e3443719f3334f17b5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Sun, 30 Dec 2018 02:46:28 +0100 -Subject: [PATCH 07/15] Use forward declaration for Exiv2::Image, port to - std::unique_ptr - -Summary: -Instead of the Exiv2::Image::AutoPtr typedef just use a forward declaration -for Exiv2::Image, and use std::unique_ptr instead of std::auto_ptr. - -The forward declaration avoids pulling in Exiv2 declarations everywhere, -e.g. via document.h. - -Although it would be possible to use std::auto_ptr, unique_ptr is -preferable for two reasons: -- ownership transfer is explicit (std::move, release()/reset()) -- Exiv2 0.28 will use std::unique_ptr as well, i.e. the code is forward -compatible. - -Reviewers: #gwenview, cfeck, ngraham - -Reviewed By: #gwenview, ngraham - -Subscribers: lbeltrame, ngraham, asturmlechner, shubham - -Tags: #gwenview - -Differential Revision: https://phabricator.kde.org/D17872 ---- - lib/cms/cmsprofile.cpp | 3 +++ - lib/cms/cmsprofile.h | 8 +++++--- - lib/document/abstractdocumentimpl.cpp | 5 +++-- - lib/document/abstractdocumentimpl.h | 7 ++++++- - lib/document/document.cpp | 7 +++++-- - lib/document/document.h | 11 ++++++++--- - lib/document/document_p.h | 10 +++++++++- - lib/document/loadingdocumentimpl.cpp | 7 +++++-- - lib/exiv2imageloader.cpp | 13 ++++++------- - lib/exiv2imageloader.h | 11 ++++++++--- - lib/jpegcontent.cpp | 10 +++++----- - lib/timeutils.cpp | 8 +++++--- - tests/auto/cmsprofiletest.cpp | 4 ++-- - tests/auto/imagemetainfomodeltest.cpp | 9 +++++++-- - 14 files changed, 77 insertions(+), 36 deletions(-) - -diff --git a/lib/cms/cmsprofile.cpp b/lib/cms/cmsprofile.cpp -index 188b90a4..7d2b753e 100644 ---- a/lib/cms/cmsprofile.cpp -+++ b/lib/cms/cmsprofile.cpp -@@ -42,6 +42,9 @@ extern "C" { - // lcms - #include - -+// Exiv2 -+#include -+ - // X11 - #ifdef HAVE_X11 - #include -diff --git a/lib/cms/cmsprofile.h b/lib/cms/cmsprofile.h -index a2a38a87..06c7672d 100644 ---- a/lib/cms/cmsprofile.h -+++ b/lib/cms/cmsprofile.h -@@ -29,12 +29,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA - #include - #include - --// Exiv2 --#include -- - class QByteArray; - class QString; - -+namespace Exiv2 -+{ -+ class Image; -+} -+ - typedef void* cmsHPROFILE; - - namespace Gwenview -diff --git a/lib/document/abstractdocumentimpl.cpp b/lib/document/abstractdocumentimpl.cpp -index d841ae5f..d3d0002c 100644 ---- a/lib/document/abstractdocumentimpl.cpp -+++ b/lib/document/abstractdocumentimpl.cpp -@@ -21,6 +21,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - // Self - #include "abstractdocumentimpl.h" - -+#include - // Qt - - // KDE -@@ -77,9 +78,9 @@ void AbstractDocumentImpl::setDocumentKind(MimeTypeUtils::Kind kind) - d->mDocument->setKind(kind); - } - --void AbstractDocumentImpl::setDocumentExiv2Image(Exiv2::Image::AutoPtr image) -+void AbstractDocumentImpl::setDocumentExiv2Image(std::unique_ptr image) - { -- d->mDocument->setExiv2Image(image); -+ d->mDocument->setExiv2Image(std::move(image)); - } - - void AbstractDocumentImpl::setDocumentDownSampledImage(const QImage& image, int invertedZoom) -diff --git a/lib/document/abstractdocumentimpl.h b/lib/document/abstractdocumentimpl.h -index 1f427e60..86e6bfd2 100644 ---- a/lib/document/abstractdocumentimpl.h -+++ b/lib/document/abstractdocumentimpl.h -@@ -34,6 +34,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - class QImage; - class QRect; - -+namespace Exiv2 -+{ -+ class Image; -+} -+ - namespace Gwenview - { - -@@ -108,7 +113,7 @@ protected: - void setDocumentImageSize(const QSize& size); - void setDocumentKind(MimeTypeUtils::Kind); - void setDocumentFormat(const QByteArray& format); -- void setDocumentExiv2Image(Exiv2::Image::AutoPtr); -+ void setDocumentExiv2Image(std::unique_ptr); - void setDocumentDownSampledImage(const QImage&, int invertedZoom); - void setDocumentCmsProfile(Cms::Profile::Ptr profile); - void setDocumentErrorString(const QString&); -diff --git a/lib/document/document.cpp b/lib/document/document.cpp -index 18756700..afa9ed03 100644 ---- a/lib/document/document.cpp -+++ b/lib/document/document.cpp -@@ -31,6 +31,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - #include - #include - -+// Exiv2 -+#include -+ - // Local - #include "documentjob.h" - #include "emptydocumentimpl.h" -@@ -388,9 +391,9 @@ AbstractDocumentEditor* Document::editor() - return d->mImpl->editor(); - } - --void Document::setExiv2Image(Exiv2::Image::AutoPtr image) -+void Document::setExiv2Image(std::unique_ptr image) - { -- d->mExiv2Image = image; -+ d->mExiv2Image = std::move(image); - d->mImageMetaInfoModel.setExiv2Image(d->mExiv2Image.get()); - emit metaInfoUpdated(); - } -diff --git a/lib/document/document.h b/lib/document/document.h -index c0bb454b..4b40a6e1 100644 ---- a/lib/document/document.h -+++ b/lib/document/document.h -@@ -22,8 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - #include - --#include --#include -+// STL -+#include - - // Qt - #include -@@ -43,6 +43,11 @@ class QUndoStack; - class KJob; - class QUrl; - -+namespace Exiv2 -+{ -+ class Image; -+} -+ - namespace Gwenview - { - -@@ -235,7 +240,7 @@ private: - void setKind(MimeTypeUtils::Kind); - void setFormat(const QByteArray&); - void setSize(const QSize&); -- void setExiv2Image(Exiv2::Image::AutoPtr); -+ void setExiv2Image(std::unique_ptr); - void setDownSampledImage(const QImage&, int invertedZoom); - void switchToImpl(AbstractDocumentImpl* impl); - void setErrorString(const QString&); -diff --git a/lib/document/document_p.h b/lib/document/document_p.h -index 78e0ac6e..4de25f15 100644 ---- a/lib/document/document_p.h -+++ b/lib/document/document_p.h -@@ -21,6 +21,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA - #ifndef DOCUMENT_P_H - #define DOCUMENT_P_H - -+// STL -+#include -+ - // Local - #include - #include -@@ -34,6 +37,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA - #include - #include - -+namespace Exiv2 -+{ -+ class Image; -+} -+ - namespace Gwenview - { - -@@ -54,7 +62,7 @@ struct DocumentPrivate - QSize mSize; - QImage mImage; - QMap mDownSampledImageMap; -- Exiv2::Image::AutoPtr mExiv2Image; -+ std::unique_ptr mExiv2Image; - MimeTypeUtils::Kind mKind; - QByteArray mFormat; - ImageMetaInfoModel mImageMetaInfoModel; -diff --git a/lib/document/loadingdocumentimpl.cpp b/lib/document/loadingdocumentimpl.cpp -index 07675783..766a1831 100644 ---- a/lib/document/loadingdocumentimpl.cpp -+++ b/lib/document/loadingdocumentimpl.cpp -@@ -24,6 +24,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - // STL - #include - -+// Exiv2 -+#include -+ - // Qt - #include - #include -@@ -100,7 +103,7 @@ struct LoadingDocumentImplPrivate - QByteArray mData; - QByteArray mFormat; - QSize mImageSize; -- Exiv2::Image::AutoPtr mExiv2Image; -+ std::unique_ptr mExiv2Image; - std::unique_ptr mJpegContent; - QImage mImage; - Cms::Profile::Ptr mCmsProfile; -@@ -486,7 +489,7 @@ void LoadingDocumentImpl::slotMetaInfoLoaded() - - setDocumentFormat(d->mFormat); - setDocumentImageSize(d->mImageSize); -- setDocumentExiv2Image(d->mExiv2Image); -+ setDocumentExiv2Image(std::move(d->mExiv2Image)); - setDocumentCmsProfile(d->mCmsProfile); - - d->mMetaInfoLoaded = true; -diff --git a/lib/exiv2imageloader.cpp b/lib/exiv2imageloader.cpp -index f2830f81..f13dff7a 100644 ---- a/lib/exiv2imageloader.cpp -+++ b/lib/exiv2imageloader.cpp -@@ -29,8 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - // KDE - - // Exiv2 --#include --#include -+#include - - // Local - -@@ -39,7 +38,7 @@ namespace Gwenview - - struct Exiv2ImageLoaderPrivate - { -- Exiv2::Image::AutoPtr mImage; -+ std::unique_ptr mImage; - QString mErrorMessage; - }; - -@@ -57,7 +56,7 @@ bool Exiv2ImageLoader::load(const QString& filePath) - { - QByteArray filePathByteArray = QFile::encodeName(filePath); - try { -- d->mImage = Exiv2::ImageFactory::open(filePathByteArray.constData()); -+ d->mImage.reset(Exiv2::ImageFactory::open(filePathByteArray.constData()).release()); - d->mImage->readMetadata(); - } catch (const Exiv2::Error& error) { - d->mErrorMessage = QString::fromUtf8(error.what()); -@@ -69,7 +68,7 @@ bool Exiv2ImageLoader::load(const QString& filePath) - bool Exiv2ImageLoader::load(const QByteArray& data) - { - try { -- d->mImage = Exiv2::ImageFactory::open((unsigned char*)data.constData(), data.size()); -+ d->mImage.reset(Exiv2::ImageFactory::open((unsigned char*)data.constData(), data.size()).release()); - d->mImage->readMetadata(); - } catch (const Exiv2::Error& error) { - d->mErrorMessage = QString::fromUtf8(error.what()); -@@ -83,9 +82,9 @@ QString Exiv2ImageLoader::errorMessage() const - return d->mErrorMessage; - } - --Exiv2::Image::AutoPtr Exiv2ImageLoader::popImage() -+std::unique_ptr Exiv2ImageLoader::popImage() - { -- return d->mImage; -+ return std::move(d->mImage); - } - - } // namespace -diff --git a/lib/exiv2imageloader.h b/lib/exiv2imageloader.h -index 57ef24d2..12a45b68 100644 ---- a/lib/exiv2imageloader.h -+++ b/lib/exiv2imageloader.h -@@ -23,13 +23,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - #include - -+// STL -+#include -+ - // Qt - - // KDE - - // Exiv2 --#include --#include -+namespace Exiv2 -+{ -+ class Image; -+} - - // Local - -@@ -54,7 +59,7 @@ public: - bool load(const QString&); - bool load(const QByteArray&); - QString errorMessage() const; -- Exiv2::Image::AutoPtr popImage(); -+ std::unique_ptr popImage(); - - private: - Exiv2ImageLoaderPrivate* const d; -diff --git a/lib/jpegcontent.cpp b/lib/jpegcontent.cpp -index bb810dd4..a8cf909f 100644 ---- a/lib/jpegcontent.cpp -+++ b/lib/jpegcontent.cpp -@@ -42,8 +42,7 @@ extern "C" { - #include - - // Exiv2 --#include --#include -+#include - - // Local - #include "jpegerrormanager.h" -@@ -216,12 +215,12 @@ bool JpegContent::load(const QString& path) - - bool JpegContent::loadFromData(const QByteArray& data) - { -- Exiv2::Image::AutoPtr image; -+ std::unique_ptr image; - Exiv2ImageLoader loader; - if (!loader.load(data)) { - qCritical() << "Could not load image with Exiv2, reported error:" << loader.errorMessage(); - } -- image = loader.popImage(); -+ image.reset(loader.popImage().release()); - - return loadFromData(data, image.get()); - } -@@ -603,7 +602,8 @@ bool JpegContent::save(QIODevice* device) - d->mPendingTransformation = false; - } - -- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open((unsigned char*)d->mRawData.data(), d->mRawData.size()); -+ std::unique_ptr image; -+ image.reset(Exiv2::ImageFactory::open((unsigned char*)d->mRawData.data(), d->mRawData.size()).release()); - - // Store Exif info - image->setExifData(d->mExifData); -diff --git a/lib/timeutils.cpp b/lib/timeutils.cpp -index 9e8836a9..3c519098 100644 ---- a/lib/timeutils.cpp -+++ b/lib/timeutils.cpp -@@ -21,6 +21,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA - // Self - #include "timeutils.h" - -+// STL -+#include -+ - // Qt - #include - #include -@@ -30,8 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Cambridge, MA 02110-1301, USA - #include - - // Exiv2 --#include --#include -+#include - - // Local - #include -@@ -92,7 +94,7 @@ struct CacheItem - if (!loader.load(path)) { - return false; - } -- Exiv2::Image::AutoPtr img = loader.popImage(); -+ std::unique_ptr img(loader.popImage().release()); - try { - Exiv2::ExifData exifData = img->exifData(); - if (exifData.empty()) { -diff --git a/tests/auto/cmsprofiletest.cpp b/tests/auto/cmsprofiletest.cpp -index 4efc441b..f4c7f9e5 100644 ---- a/tests/auto/cmsprofiletest.cpp -+++ b/tests/auto/cmsprofiletest.cpp -@@ -69,7 +69,7 @@ void CmsProfileTest::testLoadFromImageData_data() - void CmsProfileTest::testLoadFromExiv2Image() - { - QFETCH(QString, fileName); -- Exiv2::Image::AutoPtr image; -+ std::unique_ptr image; - { - QByteArray data; - QString path = pathForTestFile(fileName); -@@ -80,7 +80,7 @@ void CmsProfileTest::testLoadFromExiv2Image() - - Exiv2ImageLoader loader; - QVERIFY(loader.load(data)); -- image = loader.popImage(); -+ image.reset(loader.popImage().release()); - } - Cms::Profile::Ptr ptr = Cms::Profile::loadFromExiv2Image(image.get()); - QVERIFY(!ptr.isNull()); -diff --git a/tests/auto/imagemetainfomodeltest.cpp b/tests/auto/imagemetainfomodeltest.cpp -index e3ec8d30..5a286b00 100644 ---- a/tests/auto/imagemetainfomodeltest.cpp -+++ b/tests/auto/imagemetainfomodeltest.cpp -@@ -17,6 +17,10 @@ along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - */ -+ -+// STL -+#include -+ - // Qt - - // KDE -@@ -28,7 +32,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - #include "../lib/imagemetainfomodel.h" - #include "testutils.h" - --#include -+// Exiv2 -+#include - - #include "imagemetainfomodeltest.h" - -@@ -46,7 +51,7 @@ void ImageMetaInfoModelTest::testCatchExiv2Errors() - data = file.readAll(); - } - -- Exiv2::Image::AutoPtr image; -+ std::unique_ptr image; - { - Exiv2ImageLoader loader; - QVERIFY(loader.load(data)); --- -2.17.2 - diff --git a/0008-Compile-more-files-with-enabled-exceptions-required-.patch b/0008-Compile-more-files-with-enabled-exceptions-required-.patch deleted file mode 100644 index 278ada6..0000000 --- a/0008-Compile-more-files-with-enabled-exceptions-required-.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b81eed1dc4d879f06d651ea0954bee1b46c7947e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Sat, 29 Dec 2018 23:39:30 +0100 -Subject: [PATCH 08/15] Compile more files with enabled exceptions, required - for exiv2 0.27 - -Summary: -The (exception based) error handling is now pulled in by e.g. image.hpp, -so more files require enabled exception handling. - -Depends on D17872 - -Test Plan: build - -Reviewers: #gwenview, ngraham, cfeck, asturmlechner - -Reviewed By: #gwenview, ngraham - -Subscribers: wbauer, lbeltrame - -Tags: #gwenview - -Differential Revision: https://phabricator.kde.org/D17873 ---- - lib/CMakeLists.txt | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index d60ae47f..229eac2a 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -224,6 +224,11 @@ kde_source_files_enable_exceptions( - exiv2imageloader.cpp - imagemetainfomodel.cpp - timeutils.cpp -+ cms/cmsprofile.cpp -+ document/abstractdocumentimpl.cpp -+ document/document.cpp -+ document/loadingdocumentimpl.cpp -+ jpegcontent.cpp - ) - - ki18n_wrap_ui(gwenviewlib_SRCS --- -2.17.2 - diff --git a/gwenview.spec b/gwenview.spec index 7286560..de38074 100644 --- a/gwenview.spec +++ b/gwenview.spec @@ -1,7 +1,7 @@ Name: gwenview Summary: An image viewer Epoch: 1 -Version: 18.12.3 +Version: 19.04.2 Release: 1%{?dist} # app: GPLv2+ @@ -18,9 +18,7 @@ Source0: http://download.kde.org/%{stable}/applications/%{version}/src/%{name}-% %global majmin_ver %(echo %{version} | cut -d. -f1,2) -## upstream patches (master branch) -Patch7: 0007-Use-forward-declaration-for-Exiv2-Image-port-to-std-.patch -Patch8: 0008-Compile-more-files-with-enabled-exceptions-required-.patch +## upstream patches ## upstreamable patches @@ -117,6 +115,9 @@ desktop-file-validate %{buildroot}%{_kf5_datadir}/applications/org.kde.gwenview. %changelog +* Tue Jun 04 2019 Rex Dieter - 1:19.04.2-1 +- 19.04.2 + * Fri Mar 08 2019 Rex Dieter - 1:18.12.3-1 - 18.12.3 diff --git a/sources b/sources index 9671d9e..eb5928c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gwenview-18.12.3.tar.xz) = 4105ef3529170e7c92cbbdca4bfb31f0fa4220979ce808f86d23aac0a2fdd9f59d927f87a7909e2d1641defd97bd31e1142075f30d526c7d1b29e8afe314fd51 +SHA512 (gwenview-19.04.2.tar.xz) = 38592c6f456fa9d6627a4044b06da0688126fc2f0cffdd0c9cfcc9c31886981d73d4cc7c4c764385c05c0d1e39155ea2c7ff6c2c1c3e81361a3537d31b80907f