X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4d5364211d1647e6a7ef52acb947f1c592425fdb..c33c11fa1d2a0c4999e04386e04ac96cd350e853:/src/msw/datectrl.cpp diff --git a/src/msw/datectrl.cpp b/src/msw/datectrl.cpp index 4e8a940ad6..8191af9fc3 100644 --- a/src/msw/datectrl.cpp +++ b/src/msw/datectrl.cpp @@ -256,7 +256,7 @@ void wxDatePickerCtrl::SetValue(const wxDateTime& dt) wxLogDebug(_T("DateTime_SetSystemtime() failed")); } - wxFromSystemTime(&m_date, st); + m_date = dt; } wxDateTime wxDatePickerCtrl::GetValue() const @@ -343,7 +343,8 @@ wxDatePickerCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) // filter out duplicate DTN_DATETIMECHANGE events which the native // control sends us when using wxDP_DROPDOWN style - if ( !m_date.IsValid() || dt != m_date ) + if ( (m_date.IsValid() != dt.IsValid()) || + (m_date.IsValid() && dt != m_date) ) { m_date = dt; wxDateEvent event(this, dt, wxEVT_DATE_CHANGED); @@ -353,6 +354,7 @@ wxDatePickerCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) return true; } } + //else: both the old and new values are invalid, nothing changed } }