From 395545ca519f4771369eca77d0d4b5aa9d79d1df Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Wed, 29 Oct 2014 11:13:18 -0400 Subject: [PATCH] WP fails to sync if an event is changed on the sever and the client sends a modification of another event --- ActiveSync/SOGoActiveSyncDispatcher+Sync.m | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ActiveSync/SOGoActiveSyncDispatcher+Sync.m b/ActiveSync/SOGoActiveSyncDispatcher+Sync.m index 5080f5dd6..730936132 100644 --- a/ActiveSync/SOGoActiveSyncDispatcher+Sync.m +++ b/ActiveSync/SOGoActiveSyncDispatcher+Sync.m @@ -375,6 +375,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. } } + [theBuffer appendString: @""]; + [theBuffer appendFormat: @"%@", serverId]; + [theBuffer appendFormat: @"%d", 1]; + [theBuffer appendString: @""]; } } } @@ -431,6 +435,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. if (![sogoObject isKindOfClass: [NSException class]]) [sogoObject delete]; + + [theBuffer appendString: @""]; + [theBuffer appendFormat: @"%@", serverId]; + [theBuffer appendFormat: @"%d", 1]; + [theBuffer appendString: @""]; } } } @@ -926,6 +935,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. inCollection: theCollection withType: theFolderType inBuffer: theBuffer]; + *processed = YES; } else if ([[element tagName] isEqualToString: @"Fetch"]) { @@ -1041,8 +1051,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // We onnly generate this tag when the command has generated a response. if (processed && [s length]) [commandsBuffer appendFormat: @"%@", s]; - else - [commandsBuffer appendString: s]; } // If we got any changes or if we have applied any commands @@ -1078,8 +1086,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. [theBuffer appendFormat: @"%@", collectionId]; [theBuffer appendFormat: @"%d", 1]; - [theBuffer appendString: changeBuffer]; [theBuffer appendString: commandsBuffer]; + [theBuffer appendString: changeBuffer]; [theBuffer appendString: @""]; }