diff --git a/include/wx/generic/spinctlg.h b/include/wx/generic/spinctlg.h index b931f3457c..b25f8108c8 100644 --- a/include/wx/generic/spinctlg.h +++ b/include/wx/generic/spinctlg.h @@ -430,11 +430,11 @@ private: // specified increment without loss of precision. static unsigned DetermineDigits(double inc); - // Set the number of digits and the format unconditionally. + // Just set the number of digits and the format unconditionally. void DoSetDigits(unsigned digits); - // Update the appearance after the number of digits has changed. - void UpdateAfterDigitsChange(); + // Call DoSetDigits() and update the appearance. + void DoSetDigitsAndUpdate(unsigned digits); wxString m_format; diff --git a/src/generic/spinctlg.cpp b/src/generic/spinctlg.cpp index 830f64f6f0..da85d8fdae 100644 --- a/src/generic/spinctlg.cpp +++ b/src/generic/spinctlg.cpp @@ -759,11 +759,7 @@ void wxSpinCtrlDouble::SetIncrement(double inc) // could be undesirable, but we do increase it if the current number is not // high enough to show the numbers without losing precision. if ( digits > m_digits ) - { - DoSetDigits(digits); - - UpdateAfterDigitsChange(); - } + DoSetDigitsAndUpdate(digits); } void wxSpinCtrlDouble::SetDigits(unsigned digits) @@ -773,13 +769,13 @@ void wxSpinCtrlDouble::SetDigits(unsigned digits) if ( digits == m_digits ) return; - DoSetDigits(digits); - - UpdateAfterDigitsChange(); + DoSetDigitsAndUpdate(digits); } -void wxSpinCtrlDouble::UpdateAfterDigitsChange() +void wxSpinCtrlDouble::DoSetDigitsAndUpdate(unsigned digits) { + DoSetDigits(digits); + ResetTextValidator(); m_textCtrl->InvalidateBestSize();