+
+ // we must always set the value here, even if it's equal to m_value, as
+ // otherwise we could be left with an out of range value when leaving the
+ // text control and the current value is already m_max for example
+ return DoSetValue(textValue);