configure.ac                                |    2 +-
 svtools/source/misc/templatefoldercache.cxx |   11 +++++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

New commits:
commit 83d0e7308d7dfc6a6abd6562cc3cd0a7b6ae3316
Author:     Thorsten Behrens <thorsten.behr...@allotropia.de>
AuthorDate: Thu Apr 24 10:39:39 2025 +0200
Commit:     Thorsten Behrens <thorsten.behr...@allotropia.de>
CommitDate: Thu Apr 24 10:39:39 2025 +0200

    Release 24.2.12
    
    Change-Id: Ic8b703234e184eeeba072e4af5401df364ae2263

diff --git a/configure.ac b/configure.ac
index 5f003b168ca6..2479e4b246ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for 
the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no 
idea.
 
-AC_INIT([LibreOffice],[24.2.11.0],[],[],[http://documentfoundation.org/])
+AC_INIT([LibreOffice],[24.2.12.0],[],[],[http://documentfoundation.org/])
 
 dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just 
fine if it is installed
 dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails 
hard
commit a0d3b3331bee19255789f551022acc78ceddd129
Author:     Stephan Bergmann <stephan.bergm...@allotropia.de>
AuthorDate: Wed Apr 23 14:20:23 2025 +0200
Commit:     Thorsten Behrens <thorsten.behr...@allotropia.de>
CommitDate: Thu Apr 24 10:38:42 2025 +0200

    Compare normalized nanosec timestamps in 
TemplateFolderCacheImpl::equalStates
    
    After 9830fd36dbdb72c79703b0c61efc027fba793c5a "date/time IDL datatypes
    incompatible change", 4fa553e4071a0ba4981a690429903c4e68607864 "fdo#62088: 
Fix
    regression introduced by the DateTime incompatible change." had fixed
    writing/reading timestamps to/from the .templdir.cache file, by cutting from
    nanosecond precision back to 1/100th-second precision.  But in the call to
    TemplateFolderCacheImpl::equalState, the (cut-down) timestamps read from the
    .templdir.cache file were then compared against (not--cut-down) timestamps
    reported by the filesystem, potentially causing equalState to erroneously 
return
    false.  (This is only relevant on Windows, as the non-Windows 
implementation in
    sal/osl/unx/file_stat.cxx always sets Nanonsec = 0 for all the timestamps it
    reports.)
    
    Change-Id: I34b99024531d4d2e49bb53450e8f6fd13397f237
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184505
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de>
    (cherry picked from commit f5cca58c2ea765b08cbcc771deb4fa75ead1870e)

diff --git a/svtools/source/misc/templatefoldercache.cxx 
b/svtools/source/misc/templatefoldercache.cxx
index d8e473350e10..e6e644f2f91f 100644
--- a/svtools/source/misc/templatefoldercache.cxx
+++ b/svtools/source/misc/templatefoldercache.cxx
@@ -134,6 +134,12 @@ namespace svt
         // attribute access
         OUString                 getURL( ) const                             { 
return m_aURL.GetMainURL( INetURLObject::DecodeMechanism::ToIUri ); }
         void                     setModDate( const util::DateTime& _rDate )  { 
m_aLastModified = _rDate; }
+        void                     setModDateNormalized( const util::DateTime& 
_rDate ) {
+            auto norm = _rDate;
+            norm.NanoSeconds
+                = (norm.NanoSeconds / tools::Time::nanoPerCenti) * 
tools::Time::nanoPerCenti;
+            setModDate(norm);
+        }
         const util::DateTime&    getModDate( ) const                         { 
return m_aLastModified; }
 
         TemplateFolderContent&   getSubContents()            { return 
m_aSubContents; }
@@ -568,9 +574,10 @@ namespace svt
                     ::rtl::Reference< TemplateContent > xChild = new 
TemplateContent( std::move(aSubContentURL) );
 
                     // the modified date
-                    xChild->setModDate( xRow->getTimestamp( 2 ) );  // date 
modified
+                    xChild->setModDateNormalized( xRow->getTimestamp( 2 ) );  
// date modified
                     if ( xRow->wasNull() )
-                        xChild->setModDate( xRow->getTimestamp( 3 ) );  // 
fallback: date created
+                        xChild->setModDateNormalized( xRow->getTimestamp( 3 ) 
);
+                            // fallback: date created
 
                     // push back this content
                     _rxRoot->push_back( xChild );

Reply via email to