Summary: | auto sync runs only once | ||
---|---|---|---|
Product: | SyncEvolution | Reporter: | Daniel <dbet1> |
Component: | SyncEvolution | Assignee: | Patrick Ohly <patrick.ohly> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | syncevolution-issues |
Version: | 1.3 | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | 13x | ||
i915 platform: | i915 features: |
Description
Daniel
2012-11-02 09:20:53 UTC
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, Thank you for the fix. I can apply it and compile it for me. Will be in 1.3.2. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.