From d2a02746c696445892fffbaae40a8495a99a37fe Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 24 Oct 2012 14:02:30 +0000 Subject: [PATCH] Make wxDateTime invalid after Set((time_t)-1) call. Closes #14776. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/datetime.h | 13 ++++++++++--- interface/wx/datetime.h | 3 +++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/include/wx/datetime.h b/include/wx/datetime.h index f6bb9cd..5b68047 100644 --- a/include/wx/datetime.h +++ b/include/wx/datetime.h @@ -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; } diff --git a/interface/wx/datetime.h b/interface/wx/datetime.h index 01ef279..9c07d39 100644 --- a/interface/wx/datetime.h +++ b/interface/wx/datetime.h @@ -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); /** -- 2.7.4