summaryrefslogtreecommitdiffstats
path: root/src/gui/util/qvalidator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/util/qvalidator.cpp')
-rw-r--r--src/gui/util/qvalidator.cpp11
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();