aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog11
-rw-r--r--src/engine-eds.cpp7
-rw-r--r--src/main.cpp1
-rw-r--r--tests/manual6
4 files changed, 23 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 5f36497..f559261 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+indicator-datetime (13.10.0+15.04.20150127-0ubuntu1) vivid; urgency=low
+
+ [ Charles Kerr ]
+ * Fix bug that misidentified repeating alarms as one-time alarms,
+ causing them to be disabled after triggering. (LP: #1411171)
+
+ [ Ubuntu daily release ]
+ * New rebuild forced
+
+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 27 Jan 2015 00:24:00 +0000
+
indicator-datetime (13.10.0+15.04.20141208-0ubuntu1) vivid; urgency=low
[ Charles Kerr ]
diff --git a/src/engine-eds.cpp b/src/engine-eds.cpp
index 210ef42..47c7a9b 100644
--- a/src/engine-eds.cpp
+++ b/src/engine-eds.cpp
@@ -534,8 +534,11 @@ private:
icalcomponent * icc = nullptr;
if (e_cal_client_get_object_finish (E_CAL_CLIENT(client), result, &icc, nullptr))
{
- struct icaltimetype itt = icalcomponent_get_recurrenceid(icc);
- if (icaltime_is_null_time(itt))
+ auto rrule_property = icalcomponent_get_first_property (icc, ICAL_RRULE_PROPERTY); // transfer none
+ auto rdate_property = icalcomponent_get_first_property (icc, ICAL_RDATE_PROPERTY); // transfer none
+ const bool is_nonrepeating = (rrule_property == nullptr) && (rdate_property == nullptr);
+
+ if (is_nonrepeating)
{
g_debug("'%s' appears to be a one-time alarm... adding 'disabled' tag.",
icalcomponent_as_ical_string(icc));
diff --git a/src/main.cpp b/src/main.cpp
index 1761f84..85a414f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -46,6 +46,7 @@ namespace uin = unity::indicator::notifications;
using namespace unity::indicator::datetime;
+
namespace
{
std::shared_ptr<Engine> create_engine()
diff --git a/tests/manual b/tests/manual
index ba92044..007f967 100644
--- a/tests/manual
+++ b/tests/manual
@@ -56,6 +56,12 @@ Test-case indicator-datetime/disable-one-time-alarms-after-notification
<dd>Confirm that the alarm notification is shown</dd>
<dd>Confirm that the alarm's sound is played while the alarm notification is present</dd>
<dd>Confirm that the one-time alarm is disabled after the notification is shown. NOTE: due to a refresh bug in clock-app you may need to refresh its alarms page (by swapping back to the main page, then the alarm page again, this is tracked in #1362341) in order to see the alarm change from enabled to disabled.</dd>
+ <dt>Create and save an upcoming repeating alarm in ubuntu-clock-app</dt>
+ <dd>Confirm that the alarm icon appears next to the current time in unity's indicator display</dd>
+ <dt>Wait until the alarm time is reached</dt>
+ <dd>Confirm that the alarm notification is shown</dd>
+ <dd>Confirm that the alarm's sound is played while the alarm notification is present</dd>
+ <dd>Confirm that the repeating alarm is not disabled after the notification is shown. NOTE: due to a refresh bug in clock-app you may need to refresh its alarms page (by swapping back to the main page, then the alarm page again, this is tracked in #1362341) in order to see the alarm change from enabled to disabled.</dd>
</dl>
Test-case indicator-datetime/calendar-event-notification