[Kde-pim] [kcalcore] DST transitions determined from VTIMEZONE DAYLIGHT RRULE

David Jarvie djarvie at kde.org
Sun Jun 14 00:17:17 BST 2015


On Tuesday 19 May 2015 03:24:54 Chris Adams wrote:
> Hi,
> 
> I have been investigating a bug[1] which showed up in our CalDAV sync plugin on the Jolla smartphone.
> We use KCalCore to parse the iCal data into events for storage into our mKCal backend.
> 
> The bug is that, in some cases, the list of transitions which (should be) specified by a DAYLIGHT
> component's RRULE are not determined correctly by KCalCore.  The reason seems to be the
> following line of code:
> 
> https://projects.kde.org/projects/kde/pim/kcalcore/repository/revisions/master/entry/src/icaltimezones.cpp#L1260
> 
> which results in an invalid localStart datetime being used as the interval beginning.
> 
> My fix for this issue is at: https://github.com/mer-packages/kcalcore/pull/7/files
> 
> Firstly, do you think that this is the correct way to resolve this issue?
> Or does this problem imply a deeper problem with the way the icaltimetype struct data is being
> interpreted, which should require other changes to KCalCore?  I had a look at the toQTime()
> function, and it seems sane, so I'm not sure what is going wrong...
> 
> Secondly, if it is correct, please feel free to cherry pick that change upstream.

I'm sorry to be so late looking at this. I don't think your proposed patch is correct, because according to RFC2445, VTIMEZONE's DAYLIGHT and STANDARD entries should always contain a DTSTART value. If DTSTART is valid, the 'localStart' variable should always have a valid value, and the problem as you describe it would not occur.

-- 
David Jarvie.
KDE developer.
KAlarm author -- http://www.astrojar.org.uk/kalarm
_______________________________________________
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