[Libreoffice-commits] core.git: oox/source sc/qa

Caolán McNamara caolanm at redhat.com
Tue Mar 20 23:23:07 UTC 2018


 oox/source/drawingml/drawingmltypes.cxx |   10 +++++++---
 sc/qa/unit/subsequent_export-test.cxx   |    4 ++--
 2 files changed, 9 insertions(+), 5 deletions(-)

New commits:
commit dfc2e9be0948ca72f858197392921f5bb27f605b
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Mar 19 16:31:38 2018 +0000

    ofz#7012 Integer-overflow
    
    and fix negative rounding code, which results in changing tet
    of from -996 to -1002 which is closer to the original -1000
    
    Change-Id: Ie992e61bf4d14d0cd4194e773479feba96b6d68e
    Reviewed-on: https://gerrit.libreoffice.org/51576
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/oox/source/drawingml/drawingmltypes.cxx b/oox/source/drawingml/drawingmltypes.cxx
index cda9c1c61817..93c7c423330f 100644
--- a/oox/source/drawingml/drawingmltypes.cxx
+++ b/oox/source/drawingml/drawingmltypes.cxx
@@ -90,14 +90,18 @@ float GetTextSize( const OUString& sValue )
 sal_Int32 GetTextSpacingPoint( const OUString& sValue )
 {
     sal_Int32 nRet;
-    if( ::sax::Converter::convertNumber( nRet, sValue ) )
+    if( ::sax::Converter::convertNumber( nRet, sValue, (SAL_MIN_INT32 + 360) / 254, (SAL_MAX_INT32 - 360) / 254 ) )
         nRet = GetTextSpacingPoint( nRet );
     return nRet;
 }
 
-sal_Int32 GetTextSpacingPoint( const sal_Int32 nValue )
+sal_Int32 GetTextSpacingPoint(sal_Int32 nValue)
 {
-    return ( nValue * 254 + 360 ) / 720;
+    if (nValue > 0)
+        nValue = (nValue * 254 + 360);
+    else if (nValue < 0)
+        nValue = (nValue * 254 - 360);
+    return nValue / 720;
 }
 
 float GetFontHeight( sal_Int32 nHeight )
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index 26b925d14a16..fcef9a057c68 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -3415,8 +3415,8 @@ void ScExportTest::testSheetCondensedCharacterSpaceXLSX()
     OUString CondensedCharSpace = getXPath(pDoc,
         "/xdr:wsDr[1]/xdr:twoCellAnchor[1]/xdr:sp[1]/xdr:txBody[1]/a:p[1]/a:r[1]/a:rPr[1]","spc");
 
-    // make sure that the CondensedCharSpace is -996.
-    CPPUNIT_ASSERT_EQUAL(OUString("-996"), CondensedCharSpace);
+    // make sure that the CondensedCharSpace is -1002.
+    CPPUNIT_ASSERT_EQUAL(OUString("-1002"), CondensedCharSpace);
 
     xDocSh->DoClose();
 }


More information about the Libreoffice-commits mailing list