https://bugs.meego.com/show_bug.cgi?id=22940

pohly <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|Undecided                   |Medium
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
         AssignedTo|[email protected] |[email protected]
                   |gs                          |
   Target Milestone|---                         |1.2

--- Comment #3 from pohly <[email protected]> 2011-09-14 13:16:17 UTC ---
Fix in 1.2 release branch, together with commits which add tests:

commit ad9876beeca350adddb3949fc5e46f4bac29f41f
Author: Patrick Ohly <[email protected]>
Date:   Mon Sep 12 13:59:14 2011 +0200

    Evolution Calendar: fixed detached recurrence support (BMC #22940)

    e_cal_create_object() of a detached recurrence fails with "UID already
    exists" if there is any other event with that UID, regardless whether
    it is the parent or another detached recurrence.

    When adding new items, SyncEvolution did not handle the case were
    another detached recurrence, but not the parent, already existed. The
    check for "UID used" must check for any item with that UID, not just
    the parent.

    When removing the parent, SyncEvolution temporarily removes detached
    recurrences and recreates them later (can't be done differently with
    older EDS). Recreating a second detached recurrence with
    e_cal_create_object() then failed, must use e_cal_modify_object() for
    it and all following recurrences.

    Finally, EDS itself is confused when asked for a UID without
    RECURRENCE-ID, as it happens during such a removal: instead of
    returning the information that the parent doesn't exist (which
    SyncEvolution handles), it returns the first child (which broke change
    tracking by adding an entry for the non-existant parent). Worked
    around by doing a sanity check on the returned data.

    Because these additional changes would have been very slow with the
    list of luid strings, m_allLUIDs is now a more complex map from UID to
    set of RECURRENCE-IDs. This also makes some other code more
    efficient (O(log n) instead of O(n), less parsing of luid strings).

--------
Product: SyncEvolution
Component: SyncEvolution
MeeGo Release: unspecified
Severity: major
Priority: Medium
Keywords: 
Status: RESOLVED
Who: [email protected]
Assigned To: [email protected]
Target Build: 1.2
Flags: 
Changed: Priority Status Resolution AssignedTo Target Milestone
--------

https://bugs.meego.com/show_bug.cgi?id=22940


-- 
Configure bugmail: https://bugs.meego.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
_______________________________________________
Syncevolution-issues mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution-issues

Reply via email to