[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - vcl/source
Aron Budea (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jun 10 06:31:24 UTC 2020
vcl/source/control/field.cxx | 25 +------------------------
1 file changed, 1 insertion(+), 24 deletions(-)
New commits:
commit e029e9e97a4c678cf9f6bf474ddc1df9bef3852d
Author: Aron Budea <aron.budea at collabora.com>
AuthorDate: Mon Sep 16 12:39:59 2019 +0200
Commit: Tor Lillqvist <tml at collabora.com>
CommitDate: Wed Jun 10 08:30:46 2020 +0200
Revert "vcl: better decimal handling in NumericFormatter"
This reverts commit e9a48869fe1f1e90c03d299ae419ea5b1f43de50.
Further comments by tml, for the cherry-pick this branch:
This fixes the problem where even in plain interactive desktop use,
for instance entering "23" into the font size control on the Font tab
of Calc's Format>Cells... dialog causes the value "2.3" to be entered.
This also fixes corresponding problems in UI tests, like when
test_format_cell_font_effects_tab in
sc/qa/uitest/calc_tests/formatCells.py (part of UITest_calc_tests)
enters "18" into the font size box. (Sadly the failure of that to work
properly then caused UITest_calc_tests to hang, instead of producing
some failure report. At least for me.)
Change-Id: I81269296ab3ca3f071707cf22c4b59964baed863
Reviewed-on: https://gerrit.libreoffice.org/78980
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Aron Budea <aron.budea at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95959
Reviewed-by: Tor Lillqvist <tml at collabora.com>
diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx
index 35f298ed9477..ebbd7d41c7bd 100644
--- a/vcl/source/control/field.cxx
+++ b/vcl/source/control/field.cxx
@@ -202,29 +202,6 @@ bool ImplNumericGetValue( const OUString& rStr, sal_Int64& rValue,
aStr1.append(std::u16string_view(aStr).substr(0, nDecPos));
aStr2.append(std::u16string_view(aStr).substr(nDecPos+1));
}
- else if (nDecDigits > 0 && aStr.getLength() > nDecDigits)
- {
- // We expect a decimal point and a certain number of decimal digits,
- // but seems the user has deleted the decimal point, so we restore it.
- // Otherwise, they end up with unexpectedly (to them) large numbers.
-
- // Find the first digit from the right.
- sal_Int32 nVirtualDecPos = aStr.getLength();
- while (--nVirtualDecPos > 0)
- {
- if ((aStr[nVirtualDecPos] >= '0') && (aStr[nVirtualDecPos] <= '9'))
- break;
- }
-
- if (nVirtualDecPos >= nDecDigits)
- {
- nVirtualDecPos -= nDecDigits - 1; // nVirtualDecPos is already on a digit (so discount it).
- aStr1.append(aStr.getStr(), nVirtualDecPos);
- aStr2.append(aStr.getStr() + nVirtualDecPos);
- }
- else
- aStr1 = aStr;
- }
else
aStr1 = aStr;
@@ -564,7 +541,7 @@ void NumericFormatter::ImplInit()
mnFieldValue = 0;
mnLastValue = 0;
mnMin = 0;
- mnMax = 100000000; // A user-friendly round number.
+ mnMax = SAL_MAX_INT32;
// a "large" value substantially smaller than SAL_MAX_INT64, to avoid
// overflow in computations using this "dummy" value
mnDecimalDigits = 2;
More information about the Libreoffice-commits
mailing list