]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/time.h
fix crash when the user code refuses to validate the new text when editing the item...
[wxWidgets.git] / include / wx / time.h
index f345d849949ef9faadb7d6de3f8f96471c30f971..4e4bdf1535997988547f531ab6794210e0fcf22c 100644 (file)
@@ -47,7 +47,7 @@ public:
     wxTime() : m_time(wxDateTime::Now()) { }
     wxTime(clockTy s) : m_time((time_t)(s - wxTIME_EPOCH_DIFF)) { }
     void operator=(const wxTime& t) { m_time = t.m_time; }
-    wxTime(const wxTime& t) { *this = t; }
+    wxTime(const wxTime& t) : wxObject() { *this = t; }
     wxTime(hourTy h, minuteTy m, secondTy s = 0, bool WXUNUSED(dst) = FALSE)
         : m_time(h, m, s) { }
 
@@ -72,16 +72,16 @@ public:
     bool operator!=(const wxTime& t) const { return m_time != t.m_time; }
 
     friend wxTime WXDLLEXPORT operator+(const wxTime& t, long s)
-        { return wxTime(t.m_time + wxTimeSpan::Seconds(s)); }
+        { return wxTime(t.m_time + wxTimeSpan::Seconds((int)s)); }
     friend wxTime WXDLLEXPORT operator+(long s, const wxTime& t)
-        { return wxTime(t.m_time + wxTimeSpan::Seconds(s)); }
+        { return wxTime(t.m_time + wxTimeSpan::Seconds((int)s)); }
 
     long operator-(const wxTime& t) const
         { return (m_time - t.m_time).GetValue().ToLong(); }
     wxTime operator-(long s) const
-        { return wxTime(m_time - wxTimeSpan::Seconds(s)); }
-    void operator+=(long s) { m_time += wxTimeSpan::Seconds(s); }
-    void operator-=(long s) { m_time -= wxTimeSpan::Seconds(s); }
+        { return wxTime(m_time - wxTimeSpan::Seconds((int)s)); }
+    void operator+=(long s) { m_time += wxTimeSpan::Seconds((int)s); }
+    void operator-=(long s) { m_time -= wxTimeSpan::Seconds((int)s); }
     bool IsBetween(const wxTime& a, const wxTime& b) const
         { return *this >= a && *this <= b; }
 
@@ -123,17 +123,16 @@ public:
             { _T("%H:%M:%S"),    _T("%H:%M")    }   // wx24h
         };
 
-        static wxChar s_bufTime[128];
+        wxStrncpy(ms_bufTime, m_time.Format(formats[ms_Format][ms_Precision]),
+                  WXSIZEOF(ms_bufTime));
 
-        wxStrncpy(s_bufTime, m_time.Format(formats[ms_Format][ms_Precision]),
-                  WXSIZEOF(s_bufTime));
-
-        return s_bufTime;
+        return ms_bufTime;
     }
 
 private:
     static tFormat      ms_Format;
     static tPrecision   ms_Precision;
+    static wxChar       ms_bufTime[128];
 
 #if 0 // old wxTime members unused any more
     clockTy    sec;        /* seconds since 1/1/1901 */