[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