https://bugs.freedesktop.org/show_bug.cgi?id=56667
Patrick Ohly <patrick.ohly(a)gmx.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|syncevolution-issues@syncev |patrick.ohly(a)gmx.de
|olution.org |
--- Comment #1 from Patrick Ohly <patrick.ohly(a)gmx.de> ---
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(a)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:
You are on the CC list for the bug.
You are the assignee for the bug.