From 0fdacd7d8a7eab8dc98794988f328feb1b8cbdbb Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 23 Feb 2011 16:33:29 +0000 Subject: [PATCH] See Changelog Monotone-Parent: 85c6ffe1d09e38fb08d3e2069fab3f885c576b0e Monotone-Revision: 5950d93fbbb7ef6a3132a3c725a153f854b3e983 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2011-02-23T16:33:29 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ SoObjects/Appointments/SOGoAppointmentFolder.m | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 28224491f..f82c0b8bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-02-23 Francis Lachapelle + * SoObjects/Appointments/SOGoAppointmentFolder.m + (-fixupCycleRecord:cycleRange:firstInstanceCalendarDateRange:withEventTimeZone:): + avoid fixing the timezone if no event timezone is defined. + * SoObjects/Appointments/SOGoCalendarComponent.m (-newOccurenceWithID): set the occurrence timezone to the user's timezone. This fixes an issue when accessing occurrences of a diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m index 4dae9225b..c0e862522 100644 --- a/SoObjects/Appointments/SOGoAppointmentFolder.m +++ b/SoObjects/Appointments/SOGoAppointmentFolder.m @@ -659,8 +659,11 @@ static NSNumber *sharedYes = nil; record = [[theRecord mutableCopy] autorelease]; date = [theCycle startDate]; - secondsOffsetFromGMT = (int) [[theEventTimeZone periodForDate: date] secondsOffsetFromGMT]; - date = [date dateByAddingYears: 0 months: 0 days: 0 hours: 0 minutes: 0 seconds: -secondsOffsetFromGMT]; + if (theEventTimeZone) + { + secondsOffsetFromGMT = (int) [[theEventTimeZone periodForDate: date] secondsOffsetFromGMT]; + date = [date dateByAddingYears: 0 months: 0 days: 0 hours: 0 minutes: 0 seconds: -secondsOffsetFromGMT]; + } [date setTimeZone: timeZone]; [record setObject: date forKey: @"startDate"]; dateSecs = [NSNumber numberWithInt: [date timeIntervalSince1970]]; @@ -668,8 +671,11 @@ static NSNumber *sharedYes = nil; [record setObject: dateSecs forKey: @"c_recurrence_id"]; date = [theCycle endDate]; - secondsOffsetFromGMT = (int) [[theEventTimeZone periodForDate: date] secondsOffsetFromGMT]; - date = [date dateByAddingYears: 0 months: 0 days: 0 hours: 0 minutes: 0 seconds: -secondsOffsetFromGMT]; + if (theEventTimeZone) + { + secondsOffsetFromGMT = (int) [[theEventTimeZone periodForDate: date] secondsOffsetFromGMT]; + date = [date dateByAddingYears: 0 months: 0 days: 0 hours: 0 minutes: 0 seconds: -secondsOffsetFromGMT]; + } [date setTimeZone: timeZone]; [record setObject: date forKey: @"endDate"]; dateSecs = [NSNumber numberWithInt: [date timeIntervalSince1970]];