In various portion of the code, Duration( 0 ) is used to represent a zero delay duration (see alarm.cpp for examples). This is creating a Duration::Seconds type duration. But when reading an ical format, the zero delay duration is created with Duration( 0, Days ) which makes comparison always fail for zero delay durations…
This is part of two patches that have been added to the SailfishOS fork of KCalCore.