diff --git a/ActiveSync/SOGoActiveSyncDispatcher+Sync.m b/ActiveSync/SOGoActiveSyncDispatcher+Sync.m index 7607a2385..21fea26d1 100644 --- a/ActiveSync/SOGoActiveSyncDispatcher+Sync.m +++ b/ActiveSync/SOGoActiveSyncDispatcher+Sync.m @@ -367,7 +367,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. { [o takeActiveSyncValues: allValues inContext: context]; [sogoObject setIsNew: is_new]; - [sogoObject saveComponent: o]; + + if (theFolderType == ActiveSyncEventFolder) + [sogoObject saveComponent: o force: YES]; + else + [sogoObject saveComponent: o]; + } // Update syncCache @@ -588,7 +593,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. if ([roles containsObject: SOGoCalendarRole_ComponentModifier] || [[sogoObject ownerInContext: context] isEqualToString: [[context activeUser] login]]) { [o takeActiveSyncValues: allChanges inContext: context]; - [sogoObject saveComponent: o]; + + if (theFolderType == ActiveSyncEventFolder) + [sogoObject saveComponent: o force: YES]; + else + [sogoObject saveComponent: o]; if ([syncCache objectForKey: serverId]) [syncCache setObject: [NSString stringWithFormat: @"%f", [[sogoObject lastModified] timeIntervalSince1970]] forKey: serverId]; diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m index 4e4b8d8b7..ebac5f69f 100644 --- a/ActiveSync/SOGoActiveSyncDispatcher.m +++ b/ActiveSync/SOGoActiveSyncDispatcher.m @@ -1817,7 +1817,10 @@ void handle_eas_terminate(int signum) { appointmentObject = [[SOGoAppointmentObject alloc] initWithName: [NSString stringWithFormat: @"%@.ics", [event uid]] inContainer: collection]; - [appointmentObject saveComponent: event]; + if (folderType == ActiveSyncEventFolder) + [appointmentObject saveComponent: event force: YES]; + else + [appointmentObject saveComponent: event]; } if (uidCache && [calendarId length] > 64) diff --git a/NEWS b/NEWS index 3329b1776..73a2b12e4 100644 --- a/NEWS +++ b/NEWS @@ -28,6 +28,7 @@ Bug fixes - [eas] properly skip folders we don't want to synchronize (#3943) - [eas] fixed 30 mins freebusy offset with S Planner - [eas] now correctly handles reminders on tasks (#3964) + - [eas] always force save events creation over EAS (#3958) 3.2.4 (2016-12-01) ------------------