Added base 10 to be used with QIntValidator.
Fixes an error in QIntValidator, which occurred because locale.toInt() was missing a parameter for base value and this led it to presume wrongly that a base 8 is in use. Task-number: QTBUG-21602 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> (cherry picked from commit ee3f763f3642d1a098e6293fbc586b34a3e6e8be) Change-Id: Iee3f763f3642d1a098e6293fbc586b34a3e6e8be
This commit is contained in:
parent
d7695e82ac
commit
2b8c3ff0f0
@ -415,8 +415,9 @@ QValidator::State QIntValidator::validate(QString & input, int&) const
|
||||
qlonglong entered = QLocalePrivate::bytearrayToLongLong(buff.constData(), 10, &ok, &overflow);
|
||||
if (overflow || !ok)
|
||||
return Invalid;
|
||||
|
||||
if (entered >= b && entered <= t) {
|
||||
locale().toInt(input, &ok);
|
||||
locale().toInt(input, &ok, 10);
|
||||
return ok ? Acceptable : Intermediate;
|
||||
}
|
||||
|
||||
|
@ -169,6 +169,15 @@ void tst_QIntValidator::validate_data()
|
||||
QTest::newRow("8.9") << -1 << 100 << QString("5") << ACC;
|
||||
QTest::newRow("8.10") << -1 << 100 << QString("+") << INT;
|
||||
QTest::newRow("8.11") << -1 << 100 << QString("+50") << ACC;
|
||||
|
||||
QTest::newRow("9.0") << -10 << 10 << QString("000") << ACC;
|
||||
QTest::newRow("9.1") << -10 << 10 << QString("008") << ACC;
|
||||
QTest::newRow("9.2") << -10 << 10 << QString("-008") << ACC;
|
||||
QTest::newRow("9.3") << -10 << 10 << QString("00010") << ACC;
|
||||
QTest::newRow("9.4") << -10 << 10 << QString("-00010") << ACC;
|
||||
QTest::newRow("9.5") << -10 << 10 << QString("00020") << INV;
|
||||
QTest::newRow("9.6") << -10 << 10 << QString("-00020") << INV;
|
||||
|
||||
}
|
||||
|
||||
void tst_QIntValidator::validateArabic()
|
||||
|
Loading…
Reference in New Issue
Block a user