commit:     31d115347979a361eb9e0aa666c5333a9b9591b2
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  9 22:08:09 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Feb  9 22:27:52 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31d11534

media-gfx/kphotoalbum: Fix crash when associating a tag with an area

Upstream commit 583e10e8356d2ed64f0358ebf107bff35a98db31

Package-Manager: Portage-2.3.88, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/kphotoalbum-5.6-crashfix.patch           | 41 +++++++++++++
 media-gfx/kphotoalbum/kphotoalbum-5.6-r1.ebuild    | 69 ++++++++++++++++++++++
 2 files changed, 110 insertions(+)

diff --git a/media-gfx/kphotoalbum/files/kphotoalbum-5.6-crashfix.patch 
b/media-gfx/kphotoalbum/files/kphotoalbum-5.6-crashfix.patch
new file mode 100644
index 00000000000..96b752bf075
--- /dev/null
+++ b/media-gfx/kphotoalbum/files/kphotoalbum-5.6-crashfix.patch
@@ -0,0 +1,41 @@
+From 583e10e8356d2ed64f0358ebf107bff35a98db31 Mon Sep 17 00:00:00 2001
+From: Johannes Zarl-Zierl <[email protected]>
+Date: Sun, 9 Feb 2020 22:51:15 +0100
+Subject: Fix crash when associating a tag with an area.
+
+If a tag is being associated with an area, the context menu has two
+levels: the direct "associate with <last added tag>" and the sub-menu
+"associate with..." followed by a list of tags.
+
+Each version uses a different function signature for
+ResizableFrame::associateTags. When refactoring connections to the "new"
+signal-slot syntax in commit c38f5136 (thus released in version 5.6), I
+applied the wrong signature to the connect statement.
+
+This resulted in a crash/failed assertion when selecting a tag in the
+described way.
+---
+ AnnotationDialog/ResizableFrame.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/AnnotationDialog/ResizableFrame.cpp 
b/AnnotationDialog/ResizableFrame.cpp
+index f2dba86..44175fb 100644
+--- a/AnnotationDialog/ResizableFrame.cpp
++++ b/AnnotationDialog/ResizableFrame.cpp
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2014-2019 The KPhotoAlbum Development Team
++/* Copyright (C) 2014-2020 The KPhotoAlbum Development Team
+ 
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public
+@@ -522,7 +522,7 @@ void AnnotationDialog::ResizableFrame::addTagActions(QMenu 
*menu)
+                     submenu->addAction(createAssociateTagAction(tag));
+                 }
+ 
+-                connect(submenu, &QMenu::triggered, this, 
QOverload<>::of(&ResizableFrame::associateTag));
++                connect(submenu, &QMenu::triggered, this, QOverload<QAction 
*>::of(&ResizableFrame::associateTag));
+             }
+         }
+     }
+-- 
+cgit v1.1

diff --git a/media-gfx/kphotoalbum/kphotoalbum-5.6-r1.ebuild 
b/media-gfx/kphotoalbum/kphotoalbum-5.6-r1.ebuild
new file mode 100644
index 00000000000..5c27d00b9ab
--- /dev/null
+++ b/media-gfx/kphotoalbum/kphotoalbum-5.6-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=5.60.0
+QTMIN=5.12.3
+inherit ecm kde.org
+
+DESCRIPTION="Tool for indexing, searching, and viewing images"
+HOMEPAGE="https://www.kphotoalbum.org/";
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+       SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+ FDL-1.2"
+SLOT="5"
+IUSE="+kipi map +raw share"
+
+DEPEND="
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtnetwork-${QTMIN}:5
+       >=dev-qt/qtsql-${QTMIN}:5[sqlite]
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       >=dev-qt/qtxml-${QTMIN}:5
+       >=kde-frameworks/karchive-${KFMIN}:5
+       >=kde-frameworks/kcompletion-${KFMIN}:5
+       >=kde-frameworks/kconfig-${KFMIN}:5
+       >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+       >=kde-frameworks/kcoreaddons-${KFMIN}:5
+       >=kde-frameworks/ki18n-${KFMIN}:5
+       >=kde-frameworks/kiconthemes-${KFMIN}:5
+       >=kde-frameworks/kio-${KFMIN}:5
+       >=kde-frameworks/kjobwidgets-${KFMIN}:5
+       >=kde-frameworks/kservice-${KFMIN}:5
+       >=kde-frameworks/ktextwidgets-${KFMIN}:5
+       >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+       >=kde-frameworks/kxmlgui-${KFMIN}:5
+       media-gfx/exiv2:=
+       media-libs/phonon[qt5(+)]
+       virtual/jpeg:0
+       kipi? ( kde-apps/libkipi:5= )
+       map? ( kde-apps/libkgeomap:5 )
+       raw? ( kde-apps/libkdcraw:5 )
+       share? ( >=kde-frameworks/kxmlgui-${KFMIN}:5 )
+"
+RDEPEND="${DEPEND}
+       media-video/ffmpeg
+       kipi? ( kde-apps/kipi-plugins:5 )
+"
+
+DOCS=( ChangeLog README.md )
+
+PATCHES=( "${FILESDIR}/${P}-crashfix.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package kipi KF5Kipi)
+               $(cmake_use_find_package map KF5KGeoMap)
+               $(cmake_use_find_package raw KF5KDcraw)
+               $(cmake_use_find_package share KF5Purpose)
+       )
+
+       ecm_src_configure
+}

Reply via email to