http://bugs.meego.com/show_bug.cgi?id=10265
pohly <patrick.ohly(a)intel.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #18 from pohly <patrick.ohly(a)intel.com> 2010-12-15 03:55:20 PST ---
(In reply to comment #15)
> Do you think you can extract the
> relevant calls from either libecal example code (Google search) or the
> EvolutionCalendarSource.cpp to try this out?
hmmm, not really, I'm afraid...
I naively tried inserting an extra open call, but then, all I got was:
[ERROR] calendar: opening calendar: file e-cal.c: line 1647: assertion `ecal !=
NULL' failed
Yes, opening a calendar instance twice doesn't work.
Maybe because I was missing a close, but then all
EvolutionCalendarSource::close did was just set m_calendar to NULL... Weird...
m_calendar is a smart pointer, so this implicitly destroys the instance it
owns.
I've had some time to look into this and was able to reproduce the problem.
Putting a loop around the code in EvolutionCalendarSource::open() and thus
opening the CalDAV calendar twice does indeed solve the issue.
Workaround will be in SyncEvolution 1.1.1:
commit 7110d70033c06804ae24b421c4f190dc40254b5f
Author: Patrick Ohly <patrick.ohly(a)intel.com>
Date: Wed Dec 15 12:48:34 2010 +0100
Evolution Calendar: work around delayed update in EDS CalDAV backend (BMC
#10265)
Running a sync with EDS CalDAV backend as storage to be synchronized
ignored changes made before the sync. Running the sync again then found
the changes.
It seems that the EDS CalDAV backend triggers a refresh from the
CalDAV server after the client is done, instead of doing that in
e_cal_open().
As a workaround, this patch destroys the newly opened calendar
instance and opens it again. This is done for *all* backends, because
it is cheap for local storage and other remote storage backends might
have the same issue.
--
Configure bugmail:
http://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.