summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-07-01 13:29:03 +0100
committerNorbert Thiebaud <nthiebaud@gmail.com>2014-07-02 21:47:14 +0000
commitfaa00db418db8a2885973306e5ad10f6b5307ca0 (patch)
tree59bdede2c45cd946aa90152549e5ade09fc18bb1 /svx
parenta071dd3179536f1fb523ff082b5c5b155e443c59 (diff)
Resolves: fdo#42747 limits need to multiplied by num of decimal places
NumericFormatter limits need to multiplied by num of decimal places because the arg is a long so to retain decimal places its got to be raised up by the num of places Change-Id: Idbc49a9b1dde5fe176e5170d3be605a998050da5 (cherry picked from commit 63885c86f866411f01f1b6fceaa07f054a5a3550) Reviewed-on: https://gerrit.libreoffice.org/10015 Tested-by: Norbert Thiebaud <nthiebaud@gmail.com> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/fmcomp/gridcell.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index b47d510cf548..2ded75008561 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -2090,6 +2090,13 @@ void DbCurrencyField::implAdjustGenericFieldSetting( const Reference< XPropertyS
sal_Bool bThousand = getBOOL( _rxModel->getPropertyValue( FM_PROP_SHOWTHOUSANDSEP ) );
OUString aStr( getString( _rxModel->getPropertyValue(FM_PROP_CURRENCYSYMBOL ) ) );
+ //fdo#42747 the min/max/first/last of vcl NumericFormatters needs to be
+ //multiplied by the no of decimal places. See also
+ //VclBuilder::mungeAdjustment
+ int nMul = rtl_math_pow10Exp(1, m_nScale);
+ nMin *= nMul;
+ nMax *= nMul;
+
static_cast< LongCurrencyField* >( m_pWindow )->SetUseThousandSep( bThousand );
static_cast< LongCurrencyField* >( m_pWindow )->SetDecimalDigits( m_nScale );
static_cast< LongCurrencyField* >( m_pWindow )->SetCurrencySymbol( aStr );