[Libreoffice-commits] core.git: svl/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Feb 28 18:55:01 UTC 2019


 svl/source/numbers/zformat.cxx |   12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

New commits:
commit 609ea85b530185910bf326201f785fd32bcbad2b
Author:     Eike Rathke <erack at redhat.com>
AuthorDate: Thu Feb 28 14:44:02 2019 +0100
Commit:     Eike Rathke <erack at redhat.com>
CommitDate: Thu Feb 28 19:54:37 2019 +0100

    Resolves: tdf#123748 do not strip date part before calling Time::GetClock()
    
    GetClock() needs it to properly scale and round the floating point
    value. It also handles negative values, fiddling with that is only
    needed for the [] formats.
    
    Regression from
    
        commit e2e47898180e547cad7ccde1e5890385d573e551
        CommitDate: Fri Aug 31 12:50:52 2018 +0200
    
            Use tools::Time::GetClock() in number formatter for wall clock time
    
    Change-Id: I05fe9e22886d4e59f110c0a826dadb43234d348a
    Reviewed-on: https://gerrit.libreoffice.org/68508
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Jenkins

diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index 47f194285aa9..db066e136c06 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -3000,7 +3000,7 @@ bool SvNumberformat::ImpGetTimeOutput(double fNumber,
 {
     using namespace ::com::sun::star::i18n;
     bool bCalendarSet = false;
-    double fNumberOrig = fNumber;
+    const double fNumberOrig = fNumber;
     bool bRes = false;
     bool bSign = false;
     if (fNumber < 0.0)
@@ -3020,10 +3020,6 @@ bool SvNumberformat::ImpGetTimeOutput(double fNumber,
             return false;
         }
     }
-    else
-    {
-        fNumber -= floor(fNumber); // Else truncate date
-    }
     bool bInputLine;
     sal_Int32 nCntPost;
     if ( rScan.GetStandardPrec() == SvNumberFormatter::INPUTSTRING_PRECISION &&
@@ -3037,10 +3033,6 @@ bool SvNumberformat::ImpGetTimeOutput(double fNumber,
         bInputLine = false;
         nCntPost = rInfo.nCntPost;
     }
-    if (bSign && !rInfo.bThousand) // No [] format
-    {
-        fNumber = 1.0 - fNumber; // "Inverse"
-    }
 
     OUStringBuffer sSecStr;
     sal_Int32 nSecPos = 0; // For figure by figure processing
@@ -3049,7 +3041,7 @@ bool SvNumberformat::ImpGetTimeOutput(double fNumber,
     {
         sal_uInt16 nCHour, nCMinute, nCSecond;
         double fFractionOfSecond;
-        tools::Time::GetClock( fNumber, nCHour, nCMinute, nCSecond, fFractionOfSecond, nCntPost);
+        tools::Time::GetClock( fNumberOrig, nCHour, nCMinute, nCSecond, fFractionOfSecond, nCntPost);
         nHour = nCHour;
         nMin = nCMinute;
         nSec = nCSecond;


More information about the Libreoffice-commits mailing list