]> git.saurik.com Git - wxWidgets.git/commitdiff
Make wxDateTime invalid after Set((time_t)-1) call.
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 24 Oct 2012 14:02:30 +0000 (14:02 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 24 Oct 2012 14:02:30 +0000 (14:02 +0000)
Closes #14776.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/datetime.h
interface/wx/datetime.h

index f6bb9cdc29701d5353c706b4103bca370c6fd112..5b6804709a39982e8944acb9ffc649b0477e9e24 100644 (file)
@@ -1781,9 +1781,16 @@ inline wxDateTime wxDateTime::Today()
 #if (!(defined(__VISAGECPP__) && __IBMCPP__ >= 400))
 inline wxDateTime& wxDateTime::Set(time_t timet)
 {
-    // assign first to avoid long multiplication overflow!
-    m_time = timet - WX_TIME_BASE_OFFSET ;
-    m_time *= TIME_T_FACTOR;
+    if ( timet == (time_t)-1 )
+    {
+        m_time = wxInvalidDateTime.m_time;
+    }
+    else
+    {
+        // assign first to avoid long multiplication overflow!
+        m_time = timet - WX_TIME_BASE_OFFSET;
+        m_time *= TIME_T_FACTOR;
+    }
 
     return *this;
 }
index 01ef279dcfeb045d7afa976ec5117ae433178f88..9c07d391d6e130fedf367107aa62e53fbd0b5a3c 100644 (file)
@@ -483,6 +483,9 @@ public:
     /**
         Constructs the object from @a timet value holding the number of seconds
         since Jan 1, 1970.
+
+        If @a timet is invalid, i.e. @code (time_t)-1 @endcode, wxDateTime
+        becomes invalid too, i.e. its IsValid() will return @false.
     */
     wxDateTime& Set(time_t timet);
     /**