toolkit/source/controls/table/cellvalueconversion.cxx |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 8560e494a2263fdddb648073601b9e409556e76e
Author:     Mike Kaganski <[email protected]>
AuthorDate: Thu Sep 11 11:32:50 2025 +0500
Commit:     Xisco Fauli <[email protected]>
CommitDate: Fri Sep 12 13:54:42 2025 +0200

    Use a bit more standard null date
    
    The two places in cellvalueconversion.cxx using the null date were
    introduced in commit a7e949673cda3f0e2abfa49b2c22735f33205d01
    (gridfixes: #i117265# use a NumberFormatter for converting cell
    values to text., 2012-09-14); they are used together, so that the
    code in lcl_convertDateToDays uses the same epoch as defined in
    the respective number formatter, and the obtained number value is
    only ever used inside convertToString in a call to the formatter's
    convertNumberToString. The old value was arbitrary; and the new
    value has some optimizations in the code (see Date::DateToDays and
    comphelper::date::convertDateToDaysNormalizing called from it).
    
    Change-Id: I9c050d26ace1cf3fccde579d0d91c00f26bb3fd8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190788
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <[email protected]>
    (cherry picked from commit c6af3d93b6f2603f7ea6c898742876198ca557e1)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190858
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/toolkit/source/controls/table/cellvalueconversion.cxx 
b/toolkit/source/controls/table/cellvalueconversion.cxx
index 735fb57f7e5d..7efb73bd39a0 100644
--- a/toolkit/source/controls/table/cellvalueconversion.cxx
+++ b/toolkit/source/controls/table/cellvalueconversion.cxx
@@ -60,7 +60,7 @@ namespace
 double lcl_convertDateToDays(sal_uInt16 const i_day, sal_uInt16 const i_month,
                              sal_Int16 const i_year)
 {
-    tools::Long const nNullDateDays = ::Date::DateToDays(1, 1, 1900);
+    tools::Long const nNullDateDays = ::Date::DateToDays(30, 12, 1899);
     tools::Long const nValueDateDays = ::Date::DateToDays(i_day, i_month, 
i_year);
 
     return nValueDateDays - nNullDateDays;
@@ -259,7 +259,7 @@ bool CellValueConversion::ensureNumberFormatter()
             = NumberFormatsSupplier::createWithLocale(xContext, aLocale);
 
         // ensure a NullDate we will assume later on
-        css::util::Date const aNullDate(1, 1, 1900);
+        css::util::Date const aNullDate(30, 12, 1899);
         Reference<XPropertySet> const 
xFormatSettings(xSupplier->getNumberFormatSettings(),
                                                       UNO_SET_THROW);
         xFormatSettings->setPropertyValue(u"NullDate"_ustr, Any(aNullDate));

Reply via email to