On Mo, 2011-06-20 at 17:27 +0100, Patrick Ohly wrote:
> Problem solved...
Except for one field:
<!-- store extensions that don't match any of the other fields -->
<field name="XPROPS" array="yes" type="string" compare="never"/>
Profile:
<property name="X-*" suppressempty="yes" show="false">
<value field="XPROPS"/>
<position field="XPROPS" repeat="array" increment="1" minshow="0"/>
</property>
This is getting set to AVAILABLE here:
if (proplistP) {
if (!itemTypeP->fReceivedFieldDefs) {
// there is a propList, and we haven't scanned one already for this type
// (could be the case for DS 1.2 vCalendar where we get events & tasks
separately)
// so disable all non-mandatory fields first (available ones will be
re-enabled)
for (sInt16 i=0; i<itemTypeP->fFieldDefinitionsP->numFields(); i++) {
itemTypeP->getFieldOptions(i)->available=false;
}
// force mandatory+unprocessed properties to be always "available"
=> setfieldoptions(NULL,fProfileDefinitionP,itemTypeP);
}
// now we have received fields
itemTypeP->fReceivedFieldDefs=true;
}
Verified with debugging output. I've not looked into setfieldoptions()
for the exact logic which enables the field.
This has the effect that my X-FOOBAR-EXTENSION and X-TEST extensions
(stored locally in XPROPS) are not getting preserved when importing the
updated contact from Google.
What would be a proper fix for this?
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis