https://bugs.kde.org/show_bug.cgi?id=344673

David Jarvie <djar...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|CONFIRMED                   |RESOLVED
         Resolution|---                         |UNMAINTAINED

--- Comment #7 from David Jarvie <djar...@kde.org> ---
BUG DIAGNOSIS

The date/time becomes invalid when in KTimeZone::toZoneTime(), the following
line is executed (where 'dt' is a QDateTime instance):
    dt.setTimeSpec(Qt::LocalTime)

Running the test with the system time zone set to Europe/London, 'dt' is set
invalid when before the call 'dt' is 1998-03-29 01:00:00.000 UTC. This is when
the Europe/London summer time change occurred, so that 1998-03-29 01:00:00.000
Europe/London is invalid.

Rather than simply setting a flag to indicate that the local time zone should
be used, QDateTime::setTimeSpec() evidently validates the resultant time
against the current system time zone, even though the time is intended to be
interpreted in a different time zone (America/New_York).


REQUIRED FIX

Fixing this bug would require significant changes to the KTimeZone and
KDateTime classes. Given that, presumably, they will become obsolete in KDE 6,
I don't think they are worth fixing.


RECOMMENDED ALTERNATIVE TO KDateTime

The class KADateTime in pim/kalarmcal is an updated version of KDateTime which
uses Qt5 QDateTime time zone functionality instead of the much more limited Qt4
functionality used by KDateTime/KTimeZone. The issue does not exist in
KADateTime, so KADateTime could be used as a substitute for KDateTime.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to