File tomboy-sync-dataloss.patch of Package tomboy

Index: Tomboy/RemoteControl.cs
===================================================================
--- Tomboy/RemoteControl.cs	(revision 2259)
+++ Tomboy/RemoteControl.cs	(working copy)
@@ -246,7 +246,7 @@
 			note = note_manager.FindByUri (uri);
 			if (note == null)
 				return false;
-			note.LoadForeignNoteXml (xml_contents);
+			note.LoadForeignNoteXml (xml_contents, ChangeType.ContentChanged);
 			return true;
 		}
 
Index: Tomboy/Synchronization/SyncDialog.cs
===================================================================
--- Tomboy/Synchronization/SyncDialog.cs	(revision 2259)
+++ Tomboy/Synchronization/SyncDialog.cs	(working copy)
@@ -471,7 +471,7 @@
 			Note renamedNote = Tomboy.DefaultNoteManager.Create (newTitle, newContent);
 			if (newCompleteContent != null) {// TODO: Anything to do if it is null?
 				try {
-					renamedNote.LoadForeignNoteXml (newCompleteContent);
+					renamedNote.LoadForeignNoteXml (newCompleteContent, ChangeType.OtherDataChanged);
 				} catch {} // TODO: Handle exception in case that newCompleteContent is invalid XML
 			}
 		if (noteOpen)
Index: Tomboy/Synchronization/SyncManager.cs
===================================================================
--- Tomboy/Synchronization/SyncManager.cs	(revision 2259)
+++ Tomboy/Synchronization/SyncManager.cs	(working copy)
@@ -571,8 +571,8 @@
 		private static void UpdateLocalNote (Note localNote, NoteUpdate serverNote, NoteSyncType syncType)
 		{
 			// In each case, update existingNote's content and revision
-			try {
-				localNote.LoadForeignNoteXml (serverNote.XmlContent);
+			try {
+				localNote.LoadForeignNoteXml (serverNote.XmlContent, ChangeType.OtherDataChanged);
 			} catch {} // TODO: Handle exception in case that serverNote.XmlContent is invalid XML
 			client.SetRevision (localNote, serverNote.LatestRevision);
 
Index: Tomboy/Note.cs
===================================================================
--- Tomboy/Note.cs	(revision 2259)
+++ Tomboy/Note.cs	(working copy)
@@ -789,7 +789,7 @@
 
 		// Reload note data from a complete note XML string
 		// Should referesh note window, too
-		public void LoadForeignNoteXml (string foreignNoteXml)
+		public void LoadForeignNoteXml (string foreignNoteXml, ChangeType changeType)
 		{
 			if (foreignNoteXml == null)
 				throw new ArgumentNullException ("foreignNoteXml");
@@ -852,7 +852,8 @@
 
 			xml.Close ();
 
-			// TODO: Any reason to queue a save here?  Maybe not for sync but for others?
+			// Allow method caller to specify ChangeType (mostly needed by sync)
+			QueueSave (changeType);
 		}
 
 		// TODO: CODE DUPLICATION SUCKS
openSUSE Build Service is sponsored by