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 );