From 5aa7a0962a2728e6b2164c4531d3995b33cb71b8 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Sat, 11 Feb 2017 11:50:32 +0100 Subject: Fix another error in the notification code In addition to checking whether a recurrent item predates the current next appointment, we need to check that the actual occurrence of the item predates the current appointment as well. Fixes GitHub issue #26. Signed-off-by: Lukas Fleischer --- src/recur.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/recur.c') diff --git a/src/recur.c b/src/recur.c index 95a45ca..2a62e94 100644 --- a/src/recur.c +++ b/src/recur.c @@ -943,9 +943,14 @@ struct notify_app *recur_apoint_check_next(struct notify_app *app, recur_apoint_starts_before, i) { struct recur_apoint *rapt = LLIST_TS_GET_DATA(i); + /* + * Check whether the recurrent appointment contains an + * occurrence which is the next item to be notified. + */ if (recur_apoint_find_occurrence (rapt, day, &real_recur_start_time) - && real_recur_start_time > start) { + && real_recur_start_time > start + && real_recur_start_time < app->time) { app->time = real_recur_start_time; app->txt = mem_strdup(rapt->mesg); app->state = rapt->state; -- cgit v1.2.3-54-g00ecf