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

Eike Rathke erack at redhat.com
Mon Dec 5 21:24:54 UTC 2016


 sc/source/filter/excel/xetable.cxx |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 39aa5c2c653f36393416a6aadd6e599051bbfe7b
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Dec 5 22:23:39 2016 +0100

    attempt to fix Linux-rpm_deb-x86_71-TDF tinderbox build for 5-2, tdf#101363
    
    See http://tinderbox.libreoffice.org/cgi-bin/gunzip.cgi?tree=libreoffice-5-2&brief-log=1480964401.32227
    (as long as it is there)
    
    Change-Id: If119a19e2f5dbe53298f0b30b5749997d99bf884

diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index d22eb46..8d3bcfe 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -1691,7 +1691,14 @@ void XclExpColinfo::SaveXml( XclExpXmlStream& rStrm )
     // 100 number - used to limit precision to 0.01 with formula =Truncate( {value}*100+0.5 ) / 100
     // 0.5 number (0.005 to output value) - used to increase value before truncating,
     //            to avoid situation when 2.997 will be truncated to 2.99 and not to 3.00
-    const double nTruncatedExcelColumnWidth = std::trunc( nExcelColumnWidth * 100.0 + 0.5 ) / 100.0;
+
+    // First create an integer value to not have a double floating point with
+    // something optimized away or into.. yes that was significant in a
+    // Linux-rpm_deb-x86_71-TDF tinderbox build that oddly produced 24.23
+    // instead of 24 in a test case but only for 5-2 ...
+    const sal_Int32 nTruncatedInt = static_cast<sal_Int32>(std::trunc( nExcelColumnWidth * 100.0 + 0.5 ));
+    const double nTruncatedExcelColumnWidth = static_cast<double>(nTruncatedInt) / 100.0;
+
     rStrm.GetCurrentStream()->singleElement( XML_col,
             // OOXTODO: XML_bestFit,
             XML_collapsed,      XclXmlUtils::ToPsz( ::get_flag( mnFlags, EXC_COLINFO_COLLAPSED ) ),


More information about the Libreoffice-commits mailing list