Fix generic wxTimePickerCtrl on DST change dates.

Do not use the date when DST changes as the date part of wxDateTime object
used by wxTimePickerGeneric internally as this introduces problems with times
that can't be represented at all -- and so can't be entered into the control.
Use arbitrary date on which DST does not change to avoid this.

Closes #14137.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-03-25 23:17:04 +00:00
parent c0795ce8ea
commit b05875c977

View File

@@ -131,6 +131,17 @@ public:
{
m_time = time.IsValid() ? time : wxDateTime::Now();
// Ensure that the date part doesn't correspond to a DST change date as
// time is discontinuous then resulting in many problems, e.g. it's
// impossible to even enter 2:00:00 at the beginning of summer time
// date as this time doesn't exist. By using Jan 1, on which nobody
// changes DST, we avoid all such problems.
wxDateTime::Tm tm = m_time.GetTm();
tm.mday =
tm.yday = 1;
tm.mon = wxDateTime::Jan;
m_time.Set(tm);
UpdateTextWithoutEvent();
}