https://bugs.meego.com/show_bug.cgi?id=19739
pohly <patrick.ohly(a)intel.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #1 from pohly <patrick.ohly(a)intel.com> 2011-06-22 20:40:29 UTC ---
Gabriel already pointed me towards the culprit:
// Set ConsumerReady for existing SyncEvolution < 1.2 configs
// if not set explicitly,
// because in older releases all existing configurations where
// shown. SyncEvolution 1.2 is more strict and assumes that
// ConsumerReady must be set explicitly. The sync-ui always has
// set the flag for configs created or modified with it, but the
// command line did not. Matches similar code in the Cmdline.cpp
// migration code.
if (syncConfig->getConfigVersion(CONFIG_LEVEL_PEER, CONFIG_CUR_VERSION) ==
0 /* SyncEvolution < 1.2 */) {
localConfigs.insert(make_pair("ConsumerReady", "1"));
}
As the comment says, setting "ConsumerReady" was meant for existing configs.
Applying it to templates is wrong. Templates get updated together with
SyncEvolution (or should be - there might be custom templates which are not),
so their "ConsumerReady" flag must not be touched.
Fix is here:
pohly@pohly-mobl1:~/src/syncevolution$ git log -n 1 -p
commit 4246a916895c8204f077fe1d05eb49abc5f660fd
Author: Patrick Ohly <patrick.ohly(a)intel.com>
Date: Wed Jun 22 22:35:32 2011 +0200
syncevo-dbus-server: all templates had the "ConsumerReady" flag turned on
(BMC #19739)
The flag should only have been added to old configurations. Adding it
to templates (which happen to match the version check) is wrong and
must be avoided. Because of the wrong flag, the "SyncEvolution"
template was shown in the MeeGo UX UI although it shouldn't have been.
diff --git a/src/syncevo-dbus-server.cpp b/src/syncevo-dbus-server.cpp
index df378d5..6414f38 100644
--- a/src/syncevo-dbus-server.cpp
+++ b/src/syncevo-dbus-server.cpp
@@ -2975,7 +2975,11 @@ void ReadOperations::getConfig(bool getTemplate,
// set the flag for configs created or modified with it, but the
// command line did not. Matches similar code in the Cmdline.cpp
// migration code.
- if (syncConfig->getConfigVersion(CONFIG_LEVEL_PEER, CONFIG_CUR_VERSION) ==
0 /* SyncEvolution < 1.2 */) {
+ //
+ // This does not apply to templates which always have ConsumerReady
+ // set explicitly (to on or off) or not set (same as off).
+ if (!getTemplate &&
+ syncConfig->getConfigVersion(CONFIG_LEVEL_PEER, CONFIG_CUR_VERSION) ==
0 /* SyncEvolution < 1.2 */) {
localConfigs.insert(make_pair("ConsumerReady", "1"));
}
--------
Product: OS Middleware
Component: SyncEvolution
MeeGo Release: 1.2
Severity: normal
Priority: Undecided
Keywords:
Status: RESOLVED
Who: patrick.ohly(a)intel.com
Assigned To: patrick.ohly(a)intel.com
Target Build: ---
Flags:
Changed: Status Resolution
--------
https://bugs.meego.com/show_bug.cgi?id=19739
--
Configure bugmail:
https://bugs.meego.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching someone on the CC list of the bug.