diff options
Diffstat (limited to 'src/gui/util/qvalidator.cpp')
-rw-r--r-- | src/gui/util/qvalidator.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gui/util/qvalidator.cpp b/src/gui/util/qvalidator.cpp index ce16785d1d..3103cc7424 100644 --- a/src/gui/util/qvalidator.cpp +++ b/src/gui/util/qvalidator.cpp @@ -400,7 +400,7 @@ static qlonglong pow10(int exp) QValidator::State QIntValidator::validate(QString & input, int&) const { QByteArray buff; - if (!locale().d()->validateChars(input, QLocalePrivate::IntegerMode, &buff)) { + if (!locale().d->validateChars(input, QLocalePrivate::IntegerMode, &buff)) { return Invalid; } @@ -439,7 +439,7 @@ QValidator::State QIntValidator::validate(QString & input, int&) const void QIntValidator::fixup(QString &input) const { QByteArray buff; - if (!locale().d()->validateChars(input, QLocalePrivate::IntegerMode, &buff)) { + if (!locale().d->validateChars(input, QLocalePrivate::IntegerMode, &buff)) { return; } bool ok, overflow; @@ -655,7 +655,7 @@ QValidator::State QDoubleValidatorPrivate::validateWithLocale(QString &input, QL { Q_Q(const QDoubleValidator); QByteArray buff; - if (!locale.d()->validateChars(input, numMode, &buff, q->dec)) + if (!locale.d->validateChars(input, numMode, &buff, q->dec)) return QValidator::Invalid; if (buff.isEmpty()) @@ -871,10 +871,11 @@ QRegExpValidator::~QRegExpValidator() QValidator::State QRegExpValidator::validate(QString &input, int& pos) const { - if (r.exactMatch(input)) { + QRegExp copy = r; + if (copy.exactMatch(input)) { return Acceptable; } else { - if (const_cast<QRegExp &>(r).matchedLength() == input.size()) { + if (copy.matchedLength() == input.size()) { return Intermediate; } else { pos = input.size(); |