[Kde-pim] Questionable approach in kcal calendar loading

Allen Winter winter at kde.org
Sun Jul 8 20:50:25 BST 2007


On Sunday 08 July 2007 3:23:35 pm David Jarvie wrote:
> On Thursday 05 July 2007 13:55:40 David Jarvie wrote:
> > On Thursday 5 July 2007 13:39, David Jarvie wrote:
> > > While investigating a bug where KOrganizer (trunk) crashes if a calendar
> > > containing time zones is reloaded (by deselecting and subsequently
> > > reselecting a resource), I noticed that reloading a calendar doesn't work
> > > quite as I would expect.
> > >
> > > In ICalFormatImpl::populate(), incidences parsed from the source calendar
> > > are only added to the KCal::Calendar if the uid doesn't already exist.
> > > When KOrganizer reloads the calendar resource, the KCal::Calendar still
> > > contains the previous incidences when populate() is called. As a result,
> > > this method of eliminating duplicate uids discards the newly parsed
> > > information in favour of the previous version of all incidences which
> > > previously existed. So, if any incidences have changed, the changes will
> > > be lost.
> > >
> > > I don't know whether there are any KDE 3 bug reports which might be due
> > > to this behaviour, but there may well be some. And as it happens, when a
> > > duplicate uid was found, the new incidence wasn't deleted, resulting in a
> > > memory leak - this is now fixed in trunk.
> > >
> > > I propose to change the behaviour so that if a duplicate uid is found,
> > > the old incidence will be deleted and replaced with the new one. This
> > > should apply to both KDE 3 and 4. Please comment if you think my analysis
> > > is wrong, or if the change might have any undesirable side effects.
> >
> > Of course, a better approach might be to delete all incidences at the
> > start of populate(). That way, no old data will remain. I should get out
> > of the habit of getting up at 5 am to travel home - it badly corrupts the
> > mental processes. ;)
> 
> Any comments on this? I don't feel confident in deleting all old incidences, 
> in case there are any side effects. But I'll go ahead and try it if nobody 
> thinks it is a bad idea.
> 
I was hoping Cornelius and Reinhold would comment.
My initial reaction is to be afraid.

-Allen
_______________________________________________
kde-pim mailing list
kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
kde-pim home page at http://pim.kde.org/



More information about the kde-pim mailing list