New branch 'distro/collabora/co-24.04.12' available with the following commits: commit cdbb588dce1448eeb5d099e24eae781cbba4578f Author: Andras Timar <andras.ti...@collabora.com> Date: Fri Feb 7 14:27:59 2025 +0100
Respect document specific settings – cool#11103 The purpose of this CheckConfigOptions function is to reset formula separators, when there is a clash with decimal separator. However, ignoring other settings that are coming from the document can cause issues, like that we saw with LOKit, where StringRefAddressSyntax of a German XLSX document was reset to default CONV_UNSPECIFIED, and function =INDIREKT("Sheet1!A1") which was according to CONV_XL_A1 stopped working, and gave error #BEZUG (#REF). Change-Id: I7693deed436ad4e54569a21cc3faeaafceeb459c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181250 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Andras Timar <andras.ti...@collabora.com> commit 22af804836df3fc1827a2a08b2c91bd76b740177 Author: Miklos Vajna <vmik...@collabora.com> Date: Thu Feb 6 08:35:33 2025 +0100 writerfilter: fix crash in DomainMapperTableHandler::endTable() Crashreport signature: /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_stack.h:234: std::stack<_Tp, _Sequence>::reference std::stack<_Tp, _Sequence>::top() [with _Tp = writerfilter::dmapper::TextAppendContext; _Sequence = std::deque<writerfilter::dmapper::TextAppendContext, std::allocator<writerfilter::dmapper::TextAppendContext> >; reference = writerfilter::dmapper::TextAppendContext&]: Assertion '!this->empty()' failed. SIG Fatal signal received: SIGABRT code: 18446744073709551610 for address: 0x7300004d65 program/libwriterfilterlo.so writerfilter::dmapper::DomainMapper_Impl::GetTopTextAppend() /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_stack.h:234 program/libwriterfilterlo.so writerfilter::dmapper::DomainMapperTableHandler::endTable(unsigned int) workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/text/XTextAppendAndConvert.hpp:23 program/libwriterfilterlo.so writerfilter::dmapper::TableManager::resolveCurrentTable() include/tools/ref.hxx:56 program/libwriterfilterlo.so writerfilter::dmapper::TableManager::endLevel() writerfilter/source/dmapper/TableManager.cxx:461 It seems the trouble is that DomainMapperTableHandler::endTable() calls GetTopTextAppend() unconditionally, which asserts that the text append stack is non-empty. GetCurrentXText() already check if this stack is empty, so use that to check for emptyness and only then get the top of the stack. Later DomainMapperTableHandler::endTable() already checks if xTextAppendAndConvert is an empty reference or not. Change-Id: Ibb377cb03f8beaed9b3c9d45e322c8ad1f9d26c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181205 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Caolán McNamara <caolan.mcnam...@collabora.com>