File Place-events-without-start-date-at-end-date.patch of Package kdepim-addons
From af23ae70e47d9d7e93c013d107397999df0ecb56 Mon Sep 17 00:00:00 2001
From: Kai Uwe Broulik <kde@privat.broulik.de>
Date: Thu, 11 Jan 2018 13:00:58 +0100
Subject: [EventDataVisitor] Place events without start date at end date
This avoids an infinite loop.
Thanks Dmitry Nezhevenko for investigating.
CHANGELOG: Fixed an issue that would cause Plasma to freeze when there was an agenda item with no start date in the calendar
BUG: 367541
Differential Revision: https://phabricator.kde.org/D9811
---
plugins/plasma/pimeventsplugin/eventdatavisitor.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/plugins/plasma/pimeventsplugin/eventdatavisitor.cpp b/plugins/plasma/pimeventsplugin/eventdatavisitor.cpp
index 3d24d21..97568ce 100644
--- a/plugins/plasma/pimeventsplugin/eventdatavisitor.cpp
+++ b/plugins/plasma/pimeventsplugin/eventdatavisitor.cpp
@@ -170,6 +170,13 @@ void EventDataVisitor::insertResult(const CalendarEvents::EventData &result)
{
QDate d = result.startDateTime().date();
const QDate end = result.endDateTime().date();
+
+ // Agenda without start date will be placed at the end (due) date
+ if (!d.isValid()) {
+ mResults.insert(end, result);
+ return;
+ }
+
while (d <= end) {
mResults.insert(d, result);
d = d.addDays(1);
--
cgit v0.11.2