aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog5
-rw-r--r--calendar/calendar-pilot-sync.c14
-rw-r--r--calendar/gui/calendar-pilot-sync.c14
3 files changed, 25 insertions, 8 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 8c074c5a53..6451265211 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,8 @@
+1999-08-01 Peter Teichman <pat4@acpub.duke.edu>
+
+ * calendar-pilot-sync.c (sync_object_to_pilot): The multi-day
+ appointment corruption bug is dead. Whoo!
+
1999-07-31 Peter Teichman <pat4@acpub.duke.edu>
* Makefile.am: fixed this up slightly with respect to pilot conduits
diff --git a/calendar/calendar-pilot-sync.c b/calendar/calendar-pilot-sync.c
index 0b9d3b1206..12f15d33ad 100644
--- a/calendar/calendar-pilot-sync.c
+++ b/calendar/calendar-pilot-sync.c
@@ -396,14 +396,19 @@ sync_object_to_pilot (GNOME_Calendar_Repository repo, iCalObject *obj, int pilot
if ((a->end.tm_mday != a->begin.tm_mday) ||
(a->end.tm_mon != a->begin.tm_mon) ||
(a->end.tm_year != a->begin.tm_year)){
+ a->event = 1;
+ a->begin.tm_sec = 0;
+ a->begin.tm_min = 0;
+ a->begin.tm_hour = 0;
+
+ a->end.tm_sec = 0;
+ a->end.tm_min = 0;
+ a->end.tm_hour = 0;
a->repeatEnd = a->end;
a->repeatForever = 0;
- a->repeatFrequency = 0;
+ a->repeatFrequency = 1;
a->repeatType = repeatDaily;
- a->end.tm_mday = a->begin.tm_mday;
- a->end.tm_mon = a->begin.tm_mon;
- a->end.tm_year = a->begin.tm_year;
}
/*
@@ -447,6 +452,7 @@ sync_object_to_pilot (GNOME_Calendar_Repository repo, iCalObject *obj, int pilot
dlp_WriteRecord (
pilot_fd, db, 0,
obj->pilot_id, 0, buffer, rec_len, &new_id);
+
GNOME_Calendar_Repository_update_pilot_id (repo, obj->uid, new_id, ICAL_PILOT_SYNC_NONE, &ev);
free_Appointment (a);
diff --git a/calendar/gui/calendar-pilot-sync.c b/calendar/gui/calendar-pilot-sync.c
index 0b9d3b1206..12f15d33ad 100644
--- a/calendar/gui/calendar-pilot-sync.c
+++ b/calendar/gui/calendar-pilot-sync.c
@@ -396,14 +396,19 @@ sync_object_to_pilot (GNOME_Calendar_Repository repo, iCalObject *obj, int pilot
if ((a->end.tm_mday != a->begin.tm_mday) ||
(a->end.tm_mon != a->begin.tm_mon) ||
(a->end.tm_year != a->begin.tm_year)){
+ a->event = 1;
+ a->begin.tm_sec = 0;
+ a->begin.tm_min = 0;
+ a->begin.tm_hour = 0;
+
+ a->end.tm_sec = 0;
+ a->end.tm_min = 0;
+ a->end.tm_hour = 0;
a->repeatEnd = a->end;
a->repeatForever = 0;
- a->repeatFrequency = 0;
+ a->repeatFrequency = 1;
a->repeatType = repeatDaily;
- a->end.tm_mday = a->begin.tm_mday;
- a->end.tm_mon = a->begin.tm_mon;
- a->end.tm_year = a->begin.tm_year;
}
/*
@@ -447,6 +452,7 @@ sync_object_to_pilot (GNOME_Calendar_Repository repo, iCalObject *obj, int pilot
dlp_WriteRecord (
pilot_fd, db, 0,
obj->pilot_id, 0, buffer, rec_len, &new_id);
+
GNOME_Calendar_Repository_update_pilot_id (repo, obj->uid, new_id, ICAL_PILOT_SYNC_NONE, &ev);
free_Appointment (a);