[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdb/3.1] src/tools: Fix input of large unsigned int values (>0x7FFFFFFF)
From: Jaroslaw Staniek <null () kde ! org>
Date: 2018-06-15 21:16:53
Message-ID: E1fTw5V-0001cy-UN () code ! kde ! org
[Download RAW message or body]
Git commit 3b007ac8259b2b0edc6268d57fdc24e9ee2bcd94 by Jaroslaw Staniek.
Committed on 15/06/2018 at 21:16.
Pushed by staniek into branch '3.1'.
Fix input of large unsigned int values (>0x7FFFFFFF)
Summary:
BUG:395225
FIXED-IN:3.1.1
Test Plan: Build this code but test parent: D13473
Reviewers: piggz
Reviewed By: piggz
Subscribers: Kexi-Devel-list
Tags: #kdb
Differential Revision: https://phabricator.kde.org/D13472
M +1 -0 src/tools/KDbFieldValidator.cpp
M +2 -2 src/tools/KDbLongLongValidator.cpp
https://commits.kde.org/kdb/3b007ac8259b2b0edc6268d57fdc24e9ee2bcd94
diff --git a/src/tools/KDbFieldValidator.cpp b/src/tools/KDbFieldValidator.cpp
index b4fdf032..9b40a1db 100644
--- a/src/tools/KDbFieldValidator.cpp
+++ b/src/tools/KDbFieldValidator.cpp
@@ -47,6 +47,7 @@ KDbFieldValidator::KDbFieldValidator(const KDbField &field, QWidget * parent)
} else if (t == KDbField::Integer) {
bottom = u ? 0 : -0x7fffffff - 1;
top = u ? 0xffffffff : 0x7fffffff;
+ validator = new KDbLongLongValidator(bottom, top, nullptr);
} else if (t == KDbField::BigInteger) {
//! @todo handle unsigned (using ULongLongValidator)
validator = new KDbLongLongValidator(nullptr);
diff --git a/src/tools/KDbLongLongValidator.cpp b/src/tools/KDbLongLongValidator.cpp
index f479854e..de457fa0 100644
--- a/src/tools/KDbLongLongValidator.cpp
+++ b/src/tools/KDbLongLongValidator.cpp
@@ -71,7 +71,7 @@ QValidator::State KDbLongLongValidator::validate(QString &str, int &) const
if ((d->min || d->max) && d->min >= 0)
ok = false;
else
- return QValidator::Acceptable;
+ return QValidator::Intermediate;
} else if (!newStr.isEmpty())
val = newStr.toLongLong(&ok, d->base);
else {
@@ -88,7 +88,7 @@ QValidator::State KDbLongLongValidator::validate(QString &str, int &) const
if (d->max && d->min >= 0 && val < 0)
return QValidator::Invalid;
- return QValidator::Acceptable;
+ return QValidator::Intermediate;
}
void KDbLongLongValidator::fixup(QString &str) const
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic