summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2019-05-01 13:36:50 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2019-05-08 18:59:30 +0200
commit452f0a5dabfd4578e6d21867f486aad51d11b15a (patch)
treea484928c82c109eee923342d84da3c0fbbebabb0 /kde-apps/akonadi-calendar
parentdev-util/cmake: Drop 3.14.2 (diff)
downloadgentoo-452f0a5dabfd4578e6d21867f486aad51d11b15a.tar.gz
gentoo-452f0a5dabfd4578e6d21867f486aad51d11b15a.tar.bz2
gentoo-452f0a5dabfd4578e6d21867f486aad51d11b15a.zip
kde-apps/akonadi-calendar: Fix korgac crash
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=406411 Bug: https://bugs.gentoo.org/683274 Package-Manager: Portage-2.3.66, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-apps/akonadi-calendar')
-rw-r--r--kde-apps/akonadi-calendar/akonadi-calendar-18.12.3-r2.ebuild48
-rw-r--r--kde-apps/akonadi-calendar/files/akonadi-calendar-18.12.3-korgac-crash.patch46
2 files changed, 94 insertions, 0 deletions
diff --git a/kde-apps/akonadi-calendar/akonadi-calendar-18.12.3-r2.ebuild b/kde-apps/akonadi-calendar/akonadi-calendar-18.12.3-r2.ebuild
new file mode 100644
index 000000000000..8dceb3cf01e0
--- /dev/null
+++ b/kde-apps/akonadi-calendar/akonadi-calendar-18.12.3-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+KDE_TEST="true"
+inherit kde5
+
+DESCRIPTION="Library for akonadi calendar integration"
+LICENSE="GPL-2+ LGPL-2.1+"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="
+ $(add_frameworks_dep kcodecs)
+ $(add_frameworks_dep kconfig)
+ $(add_frameworks_dep kconfigwidgets)
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kdbusaddons)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kiconthemes)
+ $(add_frameworks_dep kio)
+ $(add_frameworks_dep kitemmodels)
+ $(add_frameworks_dep kjobwidgets)
+ $(add_frameworks_dep kwidgetsaddons)
+ $(add_frameworks_dep kwallet)
+ $(add_frameworks_dep kxmlgui)
+ $(add_kdeapps_dep akonadi '' 18.12.3-r1)
+ $(add_kdeapps_dep akonadi-contacts)
+ $(add_kdeapps_dep akonadi-mime)
+ $(add_kdeapps_dep kcalcore)
+ $(add_kdeapps_dep kcalutils)
+ $(add_kdeapps_dep kcontacts)
+ $(add_kdeapps_dep kidentitymanagement)
+ $(add_kdeapps_dep kmailtransport)
+ $(add_kdeapps_dep kmime)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtgui)
+ $(add_qt_dep qtwidgets)
+"
+RDEPEND="${DEPEND}
+ !kde-apps/kdepim-l10n
+ !<kde-apps/kdepim-runtime-18.03.80
+"
+
+PATCHES=( "${FILESDIR}/${P}-korgac-crash.patch" )
+
+RESTRICT+=" test"
diff --git a/kde-apps/akonadi-calendar/files/akonadi-calendar-18.12.3-korgac-crash.patch b/kde-apps/akonadi-calendar/files/akonadi-calendar-18.12.3-korgac-crash.patch
new file mode 100644
index 000000000000..ca159c05d110
--- /dev/null
+++ b/kde-apps/akonadi-calendar/files/akonadi-calendar-18.12.3-korgac-crash.patch
@@ -0,0 +1,46 @@
+From c9129b07b42097f6b5eb54c2103d22a9c2263d83 Mon Sep 17 00:00:00 2001
+From: David Faure <faure@kde.org>
+Date: Wed, 27 Mar 2019 14:45:25 +0100
+Subject: Fix crash due to using an attribute from a collection that went out
+ of scope
+
+Summary: Probably a consequence of the const/non-const changes (detaching?)
+
+Test Plan:
+Untested, but based on a crash report by Allen, pointing to
+ETMCalendar::alarms() calling BlockAlarmsAttribute::isAlarmTypeBlocked
+on line 579.
+
+Reviewers: dvratil, winterz
+
+Reviewed By: dvratil
+
+Subscribers: kde-pim
+
+Tags: #kde_pim
+
+Differential Revision: https://phabricator.kde.org/D20079
+---
+ src/etmcalendar.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/etmcalendar.cpp b/src/etmcalendar.cpp
+index 295785d..75e131b 100644
+--- a/src/etmcalendar.cpp
++++ b/src/etmcalendar.cpp
+@@ -549,11 +549,12 @@ KCalCore::Alarm::List ETMCalendar::alarms(const QDateTime &from,
+ while (i.hasNext()) {
+ const Akonadi::Item item = i.next().value();
+
++ Akonadi::Collection parentCollection; // must have same lifetime as blockedAttr
+ BlockAlarmsAttribute *blockedAttr = nullptr;
+
+ if (excludeBlockedAlarms) {
+ // take the collection from m_collectionMap, because we need the up-to-date collection attrs
+- Akonadi::Collection parentCollection = d->mCollectionMap.value(item.storageCollectionId());
++ parentCollection = d->mCollectionMap.value(item.storageCollectionId());
+ if (parentCollection.isValid() && parentCollection.hasAttribute<BlockAlarmsAttribute>()) {
+ blockedAttr = parentCollection.attribute<BlockAlarmsAttribute>();
+ if (blockedAttr->isEverythingBlocked()) {
+--
+cgit v1.1