aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog5
-rw-r--r--calendar/cal-util/calobj.c2
-rw-r--r--calendar/calobj.c2
-rw-r--r--calendar/pcs/calobj.c2
4 files changed, 8 insertions, 3 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index b6231297a1..930e23585a 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,8 @@
+1998-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
+
+ * calobj.c (ical_object_generate_events): Fix for the weekly event
+ generation. Was reported on the bug tracking system.
+
1998-05-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gncal-full-day.c (layout_children): Implemented ultra-cool
diff --git a/calendar/cal-util/calobj.c b/calendar/cal-util/calobj.c
index 1a9ef3f206..d8ca3fe5db 100644
--- a/calendar/cal-util/calobj.c
+++ b/calendar/cal-util/calobj.c
@@ -1099,7 +1099,7 @@ ical_object_generate_events (iCalObject *ico, time_t start, time_t end, calendar
/* Advance by day for scanning the week or by interval at week end */
if (tm->tm_wday == 6)
- current = time_add_day (current, recur->interval);
+ current = time_add_day (current, (recur->interval-1) * 7 + 1);
else
current = time_add_day (current, 1);
diff --git a/calendar/calobj.c b/calendar/calobj.c
index 1a9ef3f206..d8ca3fe5db 100644
--- a/calendar/calobj.c
+++ b/calendar/calobj.c
@@ -1099,7 +1099,7 @@ ical_object_generate_events (iCalObject *ico, time_t start, time_t end, calendar
/* Advance by day for scanning the week or by interval at week end */
if (tm->tm_wday == 6)
- current = time_add_day (current, recur->interval);
+ current = time_add_day (current, (recur->interval-1) * 7 + 1);
else
current = time_add_day (current, 1);
diff --git a/calendar/pcs/calobj.c b/calendar/pcs/calobj.c
index 1a9ef3f206..d8ca3fe5db 100644
--- a/calendar/pcs/calobj.c
+++ b/calendar/pcs/calobj.c
@@ -1099,7 +1099,7 @@ ical_object_generate_events (iCalObject *ico, time_t start, time_t end, calendar
/* Advance by day for scanning the week or by interval at week end */
if (tm->tm_wday == 6)
- current = time_add_day (current, recur->interval);
+ current = time_add_day (current, (recur->interval-1) * 7 + 1);
else
current = time_add_day (current, 1);