aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/eventedit.c
diff options
context:
space:
mode:
authorEskil Heyn Olsen <eskil@src.gnome.org>1999-12-31 23:58:08 +0800
committerEskil Heyn Olsen <eskil@src.gnome.org>1999-12-31 23:58:08 +0800
commiteb7c5ae3c5fa9ab3bab2a60d7a0c8a5a4ed93cb7 (patch)
treebc250c8cc8679635d972d3f847291882f02bc062 /calendar/gui/eventedit.c
parent0948bfda86d63a09c5b5c9661911e963cc750357 (diff)
downloadgsoc2013-evolution-eb7c5ae3c5fa9ab3bab2a60d7a0c8a5a4ed93cb7.tar.gz
gsoc2013-evolution-eb7c5ae3c5fa9ab3bab2a60d7a0c8a5a4ed93cb7.tar.zst
gsoc2013-evolution-eb7c5ae3c5fa9ab3bab2a60d7a0c8a5a4ed93cb7.zip
Committed fixes for the end-on-day recurrence bug where the last
day was skipped. Also fixed problem with multiple setitimer calls that where especially pesky in the corba part, where corba calls would cause numerous alarm dialogs when the events alarm went off. svn path=/trunk/; revision=1525
Diffstat (limited to 'calendar/gui/eventedit.c')
-rw-r--r--calendar/gui/eventedit.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/calendar/gui/eventedit.c b/calendar/gui/eventedit.c
index 5b45674d00..31fbf11225 100644
--- a/calendar/gui/eventedit.c
+++ b/calendar/gui/eventedit.c
@@ -650,7 +650,9 @@ ee_store_recur_end_to_ical (EventEditor *ee)
case 1:
/* end date */
- ical->recur->_enddate = gnome_date_edit_get_date (GNOME_DATE_EDIT (ee->recur_ed_end_on));
+ /* Also here, to ensure that the event is used, we add 86400 secs to get
+ get next day, in accordance to the RFC */
+ ical->recur->_enddate = gnome_date_edit_get_date (GNOME_DATE_EDIT (ee->recur_ed_end_on)) + 86400;
ical->recur->enddate = ical->recur->_enddate;
ical->recur->duration = 0;
break;
@@ -1247,9 +1249,10 @@ ee_rp_init_ending_date (EventEditor *ee)
gtk_widget_set_sensitive (ihbox, FALSE);
gtk_box_pack_start (GTK_BOX (hbox), ihbox, FALSE, FALSE, 0);
- if (ee->ical->recur)
- enddate = ee->ical->recur->enddate;
- else
+ if (ee->ical->recur) {
+ /* Shorten by one day, as we store end-on date a day ahead */
+ enddate = ee->ical->recur->enddate - 86400;
+ } else
enddate = ee->ical->dtend;
ee->recur_ed_end_on = widget = date_edit_new (enddate, FALSE);