Patrick Ohly changed bug 56667
What Removed Added
Status NEW ASSIGNED
Assignee syncevolution-issues@syncevolution.org patrick.ohly@gmx.de

Comment # 1 on bug 56667 from
I can reproduce this and wrote an automated test for it. I had tests for
corner-cases, but not the key aspect of automated sycning :-/

The fix is a trivial one-line change, but requires a recompilation. I'll see
when I can release 1.3.2.

commit 44fbf546456a0ca26d59b09e122ef8162263f4a8
Author: Patrick Ohly <patrick.ohly@intel.com>
Date:   Sun Nov 4 17:08:22 2012 +0100

    auto sync: only synced once (FDO #56667)

    A successful sync was incorrectly treated like a sync with a permanent
    failure, which prevents further automatic syncing.

    Adding a check for "status okay" fixes that problem. A unit test for
    this case will be comitted separately.

diff --git a/src/dbus/server/auto-sync-manager.cpp
b/src/dbus/server/auto-sync-manager.cpp
index b409c1e..0cb3c9a 100644
--- a/src/dbus/server/auto-sync-manager.cpp
+++ b/src/dbus/server/auto-sync-manager.cpp
@@ -507,7 +507,7 @@ void AutoSyncManager::autoSyncDone(AutoSyncTask *task,
SyncMLStatus status)
 void AutoSyncManager::anySyncDone(AutoSyncTask *task, SyncMLStatus status)
 {
     // set "permanently failed" flag according to most recent result
-    task->m_permanentFailure = !ErrorIsTemporary(status);
+    task->m_permanentFailure = status != STATUS_OK &&
!ErrorIsTemporary(status);
     SE_LOG_DEBUG(NULL, NULL, "auto sync: sync session %s done, result %d %s",
                  task->m_configName.c_str(),
                  status,


You are receiving this mail because: