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