Ensure there is valid context for DrawRectangle
[wxWidgets.git] / src / generic / timectrlg.cpp
index b3d0e5acafb79edc5f34e860a841547f50309323..f6aaa2317eb6beef1a53ff1d72a3a02c132e642e 100644 (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();
     }
 
@@ -259,7 +270,7 @@ private:
 
     void OnTextClick(wxMouseEvent& event)
     {
-        Field field wxDUMMY_INITIALIZE(Field_Max);
+        Field field = Field_Max; // Initialize just to suppress warnings.
         long pos;
         switch ( m_text->HitTest(event.GetPosition(), &pos) )
         {