summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-02-27CppunitTest_chart2_import: re-enable test and adapt itXisco Fauli1-7/+4
Since f281d2d24c2a368c58d32b1b50acf83e0f056d90 "Actually we shouldn't always set Overlap flag on for all xlsx charts..." Change-Id: I3e68ff99b18033879d85e3b9d40afa5a3d25b14d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147878 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-02-24crashtesting: null-deref seen on loading forum-mso-en4-399427.xlsxCaolán McNamara1-4/+5
and others. A problem since: commit 8c9a6abf30e9ff1ebd5647f7c271e0d64643860a Date: Thu Feb 2 20:16:04 2023 +0100 tdf#138601 XLSX import: fix priority of conditional formatting rules Change-Id: I663b193c5bd7c5c92d3c423e70b0f7a24e3e5d76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147592 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-19crashtesting: crash on import of forum-mso-en4-702161.xlsxCaolán McNamara1-15/+19
vConditions is empty at this point for row 5 git show -w Change-Id: I05d984d73d4dd5a0ece894f854263528c9c00be9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147303 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-17crashtesting: crash on export of forum-mso-en4-568138.xlsx to xlsCaolán McNamara1-4/+16
recurses to death warn:legacy.osl:186588:186588:sc/source/filter/excel/xeformula.cxx:518: XclExpFmlaCompImpl::CreateFormula - unknown garbage behind formula warn:legacy.osl:186588:186588:sc/source/filter/excel/xeformula.cxx:518: XclExpFmlaCompImpl::CreateFormula - unknown garbage behind formula warn:legacy.osl:186588:186588:sc/source/filter/excel/xeformula.cxx:2235: XclExpFmlaCompImpl::PopOperandPos - token stack broken Segmentation fault (core dumped) Change-Id: I17172be42c9992ceb3a90c5a92344a58328dc483 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147204 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-15tdf#138601 XLSX import: fix priority of conditional formatting rulesTibor Nagy3-0/+46
Multiple conditional formattings can intersect or have the same range of cell with different rules. Without sorting the rules by their priority, the cells got bad formatting, e.g. different colors than what was set in MSO. Change-Id: I619359877f1a3e55fc8f895d5ba6f0f4f30e07f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146513 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2023-02-01crashtesting: threaded import crash seen in forum-mso-en4-802501.xlsxCaolán McNamara2-3/+4
sporadically reproducible with tsan and ./instdir/program/soffice.bin --headless --convert-to pdf ~/forum-mso-en4-802501.xlsx move getTables().applyAutoFilters(), which wants to query tab 1 while tab 1 is still getting imported, until after the threaded import has completed. This call was moved before in: commit edd51b813005c2159426d8f2917eede5b14a4577 Date: Thu Aug 15 16:23:46 2013 +0100 fix for bnc#834705 missing drop downs for autofilter ================== WARNING: ThreadSanitizer: data race (pid=3791886) Read of size 8 at 0x7b5000040f20 by thread T7 (mutexes: write M0, write M1): #0 __gnu_cxx::__normal_iterator<unsigned long const*, std::vector<unsigned long, std::allocator<unsigned long>>>::__normal_iterator(unsigned long const* const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/stl_iterator.h:1073:20 (libsclo.so+0x3d31c4) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #1 std::vector<unsigned long, std::allocator<unsigned long>>::cend() const /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/stl_vector.h:960:16 (libsclo.so+0x3d31c4) #2 mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::cbegin() const core/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector/soa/main_def.inl:3771:34 (libsclo.so+0x3d31c4) #3 mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::begin() const core/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector/soa/main_def.inl:3753:12 (libsclo.so+0x3d31c4) #4 ScColumn::InitBlockPosition(sc::ColumnBlockConstPosition&) const core/sc/source/core/data/column3.cxx:1135:35 (libsclo.so+0x3d31c4) #5 ScTable::GetDataArea(short&, int&, short&, int&, bool, bool) const core/sc/source/core/data/table1.cxx:908:19 (libsclo.so+0x637b39) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #6 ScDocument::GetDataArea(short, short&, int&, short&, int&, bool, bool) const core/sc/source/core/data/document.cxx:1104:23 (libsclo.so+0x49b696) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #7 ScDBData::ExtendDataArea(ScDocument const&) core/sc/source/core/tool/dbdata.cxx:654:10 (libsclo.so+0x741e77) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #8 ScDocument::GetFilterEntries(short, int, short, ScFilterEntries&) core/sc/source/core/data/documen3.cxx:1577:14 (libsclo.so+0x46e7a6) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #9 (anonymous namespace)::fillQueryParam(ScQueryParam&, ScDocument*, com::sun::star::uno::Sequence<com::sun::star::sheet::TableFilterField3> const&) core/sc/source/ui/unoobj/datauno.cxx:1164:27 (libsclo.so+0xf7dd72) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #10 ScFilterDescriptorBase::setFilterFields3(com::sun::star::uno::Sequence<com::sun::star::sheet::TableFilterField3> const&) core/sc/source/ui/unoobj/datauno.cxx:1380:5 (libsclo.so+0xf7dd72) #11 non-virtual thunk to ScFilterDescriptorBase::setFilterFields3(com::sun::star::uno::Sequence<com::sun::star::sheet::TableFilterField3> const&) core/sc/source/ui/unoobj/datauno.cxx (libsclo.so+0xf7e2c2) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #12 oox::xls::AutoFilter::finalizeImport(com::sun::star::uno::Reference<com::sun::star::sheet::XDatabaseRange> const&, short) core/sc/source/filter/oox/autofilterbuffer.cxx:803:22 (libscfiltlo.so+0x3cca2c) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #13 oox::xls::AutoFilterBuffer::finalizeImport(com::sun::star::uno::Reference<com::sun::star::sheet::XDatabaseRange> const&, short) core/sc/source/filter/oox/autofilterbuffer.cxx:950:22 (libscfiltlo.so+0x3cdc0b) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #14 oox::xls::Table::applyAutoFilters() core/sc/source/filter/oox/tablebuffer.cxx:143:23 (libscfiltlo.so+0x4b9268) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #15 void std::__invoke_impl<void, void (oox::xls::Table::*&)(), oox::xls::Table&>(std::__invoke_memfun_ref, void (oox::xls::Table::*&)(), oox::xls::Table&) /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:67:14 (libscfiltlo.so+0x4b9d96) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #16 std::__invoke_result<void (oox::xls::Table::*&)(), oox::xls::Table&>::type std::__invoke<void (oox::xls::Table::*&)(), oox::xls::Table&>(void (oox::xls::Table::*&)(), oox::xls::Table&) /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:96:14 (libscfiltlo.so+0x4b9d96) #17 void std::_Bind<void (oox::xls::Table::* (std::_Placeholder<1>))()>::__call<void, oox::xls::Table&, 0ul>(std::tuple<oox::xls::Table&>&&, std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/functional:495:11 (libscfiltlo.so+0x4b9d96) #18 void std::_Bind<void (oox::xls::Table::* (std::_Placeholder<1>))()>::operator()<oox::xls::Table&, void>(oox::xls::Table&) /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/functional:580:17 (libscfiltlo.so+0x4b9d96) #19 oox::RefMap<int, oox::xls::Table, std::less<int>>::ForEachFunctor<std::_Bind<void (oox::xls::Table::* (std::_Placeholder<1>))()>>::operator()(std::pair<int const, std::shared_ptr<oox::xls::Table>> const&) core/include/oox/helper/refmap.hxx:122:89 (libscfiltlo.so+0x4b9d96) #20 oox::RefMap<int, oox::xls::Table, std::less<int>>::ForEachFunctor<std::_Bind<void (oox::xls::Table::* (std::_Placeholder<1>))()>> std::for_each<std::_Rb_tree_const_iterator<std::pair<int const, std::shared_ptr<oox::xls::Table>>>, oox::RefMap<int, oox::xls::Table, std::less<int>>::ForEachFunctor<std::_Bind<void (oox::xls::Table::* (std::_Placeholder<1>))()>>>(std::_Rb_tree_const_iterator<std::pair<int const, std::shared_ptr<oox::xls::Table>>>, std::_Rb_tree_const_iterator<std::pair<int const, std::shared_ptr<oox::xls::Table>>>, oox::RefMap<int, oox::xls::Table, std::less<int>>::ForEachFunctor<std::_Bind<void (oox::xls::Table::* (std::_Placeholder<1>))()>>) /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/stl_algo.h:3787:2 (libscfiltlo.so+0x4b9d96) #21 void oox::RefMap<int, oox::xls::Table, std::less<int>>::forEach<std::_Bind<void (oox::xls::Table::* (std::_Placeholder<1>))()>>(std::_Bind<void (oox::xls::Table::* (std::_Placeholder<1>))()> const&) const core/include/oox/helper/refmap.hxx:71:29 (libscfiltlo.so+0x4b9d96) #22 void oox::RefMap<int, oox::xls::Table, std::less<int>>::forEachMem<void (oox::xls::Table::*)()>(void (oox::xls::Table::*)()) const core/include/oox/helper/refmap.hxx:79:29 (libscfiltlo.so+0x4b9d96) #23 oox::xls::TableBuffer::applyAutoFilters() core/sc/source/filter/oox/tablebuffer.cxx:179:16 (libscfiltlo.so+0x4b9d96) #24 oox::xls::WorksheetGlobals::finalizeWorksheetImport() core/sc/source/filter/oox/worksheethelper.cxx:943:17 (libscfiltlo.so+0x4ee58e) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #25 oox::xls::WorksheetHelper::finalizeWorksheetImport() core/sc/source/filter/oox/worksheethelper.cxx:1625:17 (libscfiltlo.so+0x4f2cff) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #26 oox::xls::WorksheetFragment::finalizeImport() core/sc/source/filter/oox/worksheetfragment.cxx:632:5 (libscfiltlo.so+0x4e91cc) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #27 oox::core::FragmentHandler2::endDocument() core/oox/source/core/fragmenthandler2.cxx:53:5 (libooxlo.so+0x1c20d9) (BuildId: eba40a8f6e1e986eafb2008b5a61a9060f9b6c0b) #28 non-virtual thunk to oox::core::FragmentHandler2::endDocument() core/oox/source/core/fragmenthandler2.cxx (libooxlo.so+0x1c20d9) #29 sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) core/sax/source/fastparser/fastparser.cxx:910:36 (libexpwraplo.so+0x2a06a) (BuildId: 4c8d8739ce3b93f891afa1e160f975a2892a4af4) #30 sax_fastparser::FastSaxParser::parseStream(com::sun::star::xml::sax::InputSource const&) core/sax/source/fastparser/fastparser.cxx:1482:13 (libexpwraplo.so+0x31738) (BuildId: 4c8d8739ce3b93f891afa1e160f975a2892a4af4) #31 oox::core::FastParser::parseStream(com::sun::star::xml::sax::InputSource const&, bool) core/oox/source/core/fastparser.cxx:121:15 (libooxlo.so+0x1ae980) (BuildId: eba40a8f6e1e986eafb2008b5a61a9060f9b6c0b) #32 oox::core::FastParser::parseStream(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&) core/oox/source/core/fastparser.cxx:129:5 (libooxlo.so+0x1aebdf) (BuildId: eba40a8f6e1e986eafb2008b5a61a9060f9b6c0b) #33 oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) core/oox/source/core/xmlfilterbase.cxx:412:21 (libooxlo.so+0x1d01ac) (BuildId: eba40a8f6e1e986eafb2008b5a61a9060f9b6c0b) #34 oox::xls::WorkbookHelper::importOoxFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) core/sc/source/filter/oox/workbookhelper.cxx:1024:27 (libscfiltlo.so+0x4dbbd2) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #35 oox::xls::(anonymous namespace)::WorkerThread::doWork() core/sc/source/filter/oox/workbookfragment.cxx:249:27 (libscfiltlo.so+0x4d3347) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #36 comphelper::ThreadTask::exec() core/comphelper/source/misc/threadpool.cxx:319:9 (libcomphelper.so+0x17dbc1) (BuildId: 30a9bf106ea764f860a55d99b75dd87a0f268335) #37 comphelper::ThreadPool::ThreadWorker::execute() core/comphelper/source/misc/threadpool.cxx:85:24 (libcomphelper.so+0x17dbc1) #38 salhelper::Thread::run() core/salhelper/source/thread.cxx:39:5 (libuno_salhelpergcc3.so.3+0x5267) (BuildId: d146f721ac5d8da923b02df0d671788655b81eb6) #39 non-virtual thunk to salhelper::Thread::run() core/salhelper/source/thread.cxx (libuno_salhelpergcc3.so.3+0x5267) #40 threadFunc core/include/osl/thread.hxx:189:15 (libuno_salhelpergcc3.so.3+0x551e) (BuildId: d146f721ac5d8da923b02df0d671788655b81eb6) #41 osl_thread_start_Impl(void*) core/sal/osl/unx/thread.cxx:265:9 (libuno_sal.so.3+0x6a9d5) (BuildId: 767a6cd7c58bf820064a10cf0ab0f15b30c2f4ac) Previous write of size 8 at 0x7b5000040f20 by thread T6 (mutexes: write M2): #0 std::vector<unsigned long, std::allocator<unsigned long>>::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long>>>, unsigned long, unsigned long const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/vector.tcc:556:29 (libsclo.so+0x2f6766) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #1 std::vector<unsigned long, std::allocator<unsigned long>>::insert(__gnu_cxx::__normal_iterator<unsigned long const*, std::vector<unsigned long, std::allocator<unsigned long>>>, unsigned long, unsigned long const&) /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/stl_vector.h:1435:2 (libsclo.so+0x2ffd3a) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #2 mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::blocks_type::insert(unsigned long, unsigned long) core/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector/soa/main_def.inl:99:15 (libsclo.so+0x2ffd3a) #3 mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::set_new_block_to_middle(unsigned long, unsigned long, unsigned long, bool) core/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector/soa/main_def.inl:4326:19 (libsclo.so+0x2ffd3a) #4 mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::iterator_trait> mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::set_cell_to_middle_of_block<double>(unsigned long, unsigned long, double const&) core/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector/soa/main_def.inl:3999:19 (libsclo.so+0x3259fe) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #5 mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::iterator_trait> mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::set_cell_to_empty_block<double>(unsigned long, unsigned long, double const&) core/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector/soa/main_def.inl:3313:12 (libsclo.so+0x3259fe) #6 mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::iterator_trait> mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::set_impl<double>(unsigned long, unsigned long, double const&) core/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector/soa/main_def.inl:1260:16 (libsclo.so+0x32492f) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #7 mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::iterator_trait> mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::set<double>(mdds::mtv::soa::detail::iterator_base<mdds::mtv::soa::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::SharedString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block<54, ScFormulaCell>>, sc::CellStoreTrait>::iterator_trait> const&, unsigned long, double const&) core/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector/soa/main_def.inl:754:20 (libsclo.so+0x4cc138) (BuildId: 4582437348063bd1c461478348ce37a0dbd28def) #8 ScDocumentImport::setNumericCell(ScAddress const&, double) core/sc/source/core/data/documentimport.cxx:259:35 (libsclo.so+0x4cc138) #9 oox::xls::SheetDataBuffer::setValueCell(oox::xls::CellModel const&, double) core/sc/source/filter/oox/sheetdatabuffer.cxx:107:20 (libscfiltlo.so+0x4833c0) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #10 oox::xls::SheetDataContext::onEndElement() core/sc/source/filter/oox/sheetdatacontext.cxx:185:25 (libscfiltlo.so+0x48fed2) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #11 non-virtual thunk to oox::xls::SheetDataContext::onEndElement() core/sc/source/filter/oox/sheetdatacontext.cxx (libscfiltlo.so+0x48fff9) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #12 oox::core::ContextHandler2Helper::implEndElement(int) core/oox/source/core/contexthandler2.cxx:125:9 (libooxlo.so+0x1ac82b) (BuildId: eba40a8f6e1e986eafb2008b5a61a9060f9b6c0b) #13 oox::core::ContextHandler2::endFastElement(int) core/oox/source/core/contexthandler2.cxx:220:5 (libooxlo.so+0x1ac82b) #14 non-virtual thunk to oox::core::ContextHandler2::endFastElement(int) core/oox/source/core/contexthandler2.cxx (libooxlo.so+0x1ac82b) #15 (anonymous namespace)::Entity::endElement() core/sax/source/fastparser/fastparser.cxx:515:27 (libexpwraplo.so+0x3042f) (BuildId: 4c8d8739ce3b93f891afa1e160f975a2892a4af4) #16 sax_fastparser::FastSaxParserImpl::consume((anonymous namespace)::EventList&) core/sax/source/fastparser/fastparser.cxx:1029:25 (libexpwraplo.so+0x29d37) (BuildId: 4c8d8739ce3b93f891afa1e160f975a2892a4af4) #17 sax_fastparser::FastSaxParserImpl::parseStream(com::sun::star::xml::sax::InputSource const&) core/sax/source/fastparser/fastparser.cxx:869:22 (libexpwraplo.so+0x29d37) #18 sax_fastparser::FastSaxParser::parseStream(com::sun::star::xml::sax::InputSource const&) core/sax/source/fastparser/fastparser.cxx:1482:13 (libexpwraplo.so+0x31738) (BuildId: 4c8d8739ce3b93f891afa1e160f975a2892a4af4) #19 oox::core::FastParser::parseStream(com::sun::star::xml::sax::InputSource const&, bool) core/oox/source/core/fastparser.cxx:121:15 (libooxlo.so+0x1ae980) (BuildId: eba40a8f6e1e986eafb2008b5a61a9060f9b6c0b) #20 oox::core::FastParser::parseStream(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, rtl::OUString const&) core/oox/source/core/fastparser.cxx:129:5 (libooxlo.so+0x1aebdf) (BuildId: eba40a8f6e1e986eafb2008b5a61a9060f9b6c0b) #21 oox::core::XmlFilterBase::importFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) core/oox/source/core/xmlfilterbase.cxx:412:21 (libooxlo.so+0x1d01ac) (BuildId: eba40a8f6e1e986eafb2008b5a61a9060f9b6c0b) #22 oox::xls::WorkbookHelper::importOoxFragment(rtl::Reference<oox::core::FragmentHandler> const&, oox::core::FastParser&) core/sc/source/filter/oox/workbookhelper.cxx:1024:27 (libscfiltlo.so+0x4dbbd2) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #23 oox::xls::(anonymous namespace)::WorkerThread::doWork() core/sc/source/filter/oox/workbookfragment.cxx:249:27 (libscfiltlo.so+0x4d3347) (BuildId: 798032f9cb60957d86e47827d9e882b8931326ba) #24 comphelper::ThreadTask::exec() core/comphelper/source/misc/threadpool.cxx:319:9 (libcomphelper.so+0x17dbc1) (BuildId: 30a9bf106ea764f860a55d99b75dd87a0f268335) #25 comphelper::ThreadPool::ThreadWorker::execute() core/comphelper/source/misc/threadpool.cxx:85:24 (libcomphelper.so+0x17dbc1) #26 salhelper::Thread::run() core/salhelper/source/thread.cxx:39:5 (libuno_salhelpergcc3.so.3+0x5267) (BuildId: d146f721ac5d8da923b02df0d671788655b81eb6) #27 non-virtual thunk to salhelper::Thread::run() core/salhelper/source/thread.cxx (libuno_salhelpergcc3.so.3+0x5267) #28 threadFunc core/include/osl/thread.hxx:189:15 (libuno_salhelpergcc3.so.3+0x551e) (BuildId: d146f721ac5d8da923b02df0d671788655b81eb6) #29 osl_thread_start_Impl(void*) core/sal/osl/unx/thread.cxx:265:9 (libuno_sal.so.3+0x6a9d5) (BuildId: 767a6cd7c58bf820064a10cf0ab0f15b30c2f4ac) Change-Id: I7542432749fded8ab5e35f79cb221ad712f7802d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146430 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-27crashtesting: crash on forum-mso-en4-719754.xlsx with fPercentile ~== 1Caolán McNamara1-1/+6
input is fPercentile of near 1 where approxFloor would give nIndex of nSize-1 resulting in a non-zero tiny negative fDiff, when the assumption is fDiff will be 0 or some positive value. Change-Id: I8fe5520f2b3c68f3204d435337df527185dcb0d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146218 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-27crashtesting: assert seen in forum-mso-en4-192558.xlsxCaolán McNamara2-2/+2
assert is assert(rRange.aStart.Tab() == rRange.aEnd.Tab()); sheel 1 cell E6 contains =IFERROR(VLOOKUP(D6,a6:'sheet1'!b495,3,FALSE()),"") note: sheel 1 E7 is =IFERROR(VLOOKUP(D7,$Sheet1.A7:Search.B499,3,FALSE()),"") aRef.Ref1.Tab() and aRef.Ref2.Tab() are the same, but IsTabRel differs, so the input address with a tab 1 results in an output range with start and end of different tabs. do the comparison with the result range, by analogy do the same adjustment in ScGroupTokenConverter where the comparison was introduced for commit ca1f051972946b24cb6658143fb0d0ac3587a988 Date: Fri Mar 10 18:32:27 2017 +0100 Resolves: tdf#106459 3D reference can't be handled as vector reference and basically copied and pasted here. FWIW in forum-mso-en4-192558.xlsx the original formulas in xlsx are: IFERROR(VLOOKUP(D6,A6:'Sheet1'!B495,3,FALSE),"") IFERROR(VLOOKUP(D7,A7:B499:'Sheet1'!B496,3,FALSE),"") Change-Id: I69e3ca2f89008b81500789b1bca39b35685de8d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146166 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-24tdf#135987 xlsx vml export: retain checkbox link to cellJustin Luth2-2/+19
The checkbox can be linked to a cell, so that the cell's value is toggled between true and false. This was lost on a round-trip. Change-Id: I4f2d44a594a92caedb29ded9b2c292006c803115 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145962 Tested-by: Justin Luth <jluth@mail.com> Reviewed-by: Justin Luth <jluth@mail.com>
2023-01-24tdf#117266 tdf#120374 sc oox: export correct vml button name #2Justin Luth3-9/+23
So the actual name is more important than I knew. For example, VBA maps click macros based on the button name. So use the MS-provided name and use the SPID to connect to the shape id. Of the existing unit tests that were affected by this: -macro-button-form-control.xlsm: button now launches hello macro -tdf117266_macroButton.xlsm - same file as ^^^ -button-form-control.xls nearly same file as ^^^ -tdf134769.xlsx - checkbox still exists on round-trip -tdf106181.ods - checkbox still exists, but link to cell still lost. -checkbox-form-control.xlsx - nearly same as ^^^ All looks good. Change-Id: If83cf17d60b73c46d55a21b1a46ed320513044cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145961 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2022-12-20crashtesting: assert on import of forum-mso-en4-253564.xlsxCaolán McNamara2-1/+13
source document contains a timestamp formatted as: 2011-010-31T00: 00:00Z ^^^ Change-Id: I604ffa69189280faf9d7f55dae472cf9fe1b6763 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144614 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-18crashtesting: assert seen with forum-mso-en4-747641.xlsx with LCID F6E0BCaolán McNamara2-2/+6
see on export to ods input .xlsx contains a LCID of F6E0B <numFmt numFmtId="169" formatCode="_-[$£-F6E0B]* #,##0.00_-;\-[$£-F6E0B]* #,##0.00_-;_-[$£-F6E0B]* &quot;-&quot;??_-;_-@_-"/> Change-Id: I543164dba4cc8b1c86508a3e3e39b43900c06484 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144321 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-17crashtesting: assert on export of forum-mso-en4-212378.xlsx back to xlsxCaolán McNamara1-1/+2
input xml contains: <cellStyle name="ck-In_xdc80_.." resulting in a bare low surrogate that asserts on export's OUString::toUtf8() Sanitize it at the original import Change-Id: Ib1259ed55090efb16e1c5b4b488bf3050e473324 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144389 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-15crashtesting: assert seen on loading forum-mso-en4-573860.xlsxEike Rathke1-0/+14
While resolving named expression Pinnacle3 IF(AND(Pinnacle1+Pinnacle2<>11,Pinnacle1+Pinnacle2<>22,Pinnacle1+Pinnacle2>9),SUM(MID(Pinnacle1+Pinnacle2,1,1),MID(Pinnacle1+Pinnacle2,2,1)),Pinnacle1+Pinnacle2) where resolving and inserting named expressions Pinnacle1 IF(AND(SUM($Sheet1.$D$3:$E$3)<>11;SUM($Sheet1.$D$3:$E$3)<>22;SUM($Sheet1.$D$3:$E$3)>9);SUM(MID(SUM($Sheet1.$D$3:$E$3);1;1);MID(SUM($Sheet1.$D$3:$E$3);2;1));SUM($Sheet1.$D$3:$E$3)) and Pinnacle2 IF(AND(Logic1<>11;Logic1<>22;Logic1>9);SUM(MID(Logic1;1;1);MID(Logic1;2;1));Logic1) with Logic1 IF($Sheet1.$E$3+NilaiTahun>10;SUM(MID($Sheet1.$E$3+NilaiTahun;1;1);MID($Sheet1.$E$3+NilaiTahun;2;1));$Sheet1.$E$3+NilaiTahun) with NilaiTahun IF(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1))<10;SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));SUM(MID(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));1;1);SUM(MID(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));2;1)))) overall exceeds FORMULA_MAXTOKENS (8192) in the generated RPN code, hence an ocStop is encountered as factor token. (this cries for generating subroutine call token arrays where each named expression could have their own RPN code and interim results could be remembered for each while interpreting within one formula cell; just dreaming..). Change-Id: I744c4915a00849b107c7c25d7029aa19d976aa86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144048 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-12-15crashtesting: relax assert seen in forum-mso-en4-503384.xlsxCaolán McNamara1-1/+1
maModels.size() is 1 while maPriorities.size() is 2 with this offending xml <x14:conditionalFormatting xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main"> <x14:cfRule type="iconSet" priority="6" id="{8347056A-0193-48CE-A1F2-602B0108EE9E}"> <x14:iconSet iconSet="3Symbols2" showValue="0" custom="1"> <x14:cfvo type="percent"> <xm:f>0</xm:f> </x14:cfvo> <x14:cfvo type="num" gte="0"> <xm:f>0</xm:f> </x14:cfvo> <x14:cfvo type="num" gte="0"> <xm:f>0</xm:f> </x14:cfvo> <x14:cfIcon iconSet="3Triangles" iconId="1"/> <x14:cfIcon iconSet="NoIcons" iconId="0"/> <x14:cfIcon iconSet="3Symbols2" iconId="2"/> </x14:iconSet> </x14:cfRule> <x14:cfRule type="expression" priority="1" id="{89F2044D-AD8D-477D-AFD2-3E2B711FFBCA}"> <xm:f>AND($A3&gt;INDEX(Sheet2!$B$2:$B$50,MATCH(C$2,Sheet2!$A$2:$A$50,0)),C3=1)</xm:f> <x14:dxf> <fill> <patternFill> <bgColor rgb="FF92D050"/> </patternFill> </fill> </x14:dxf> </x14:cfRule> <xm:sqref>C3:Q28</xm:sqref> </x14:conditionalFormatting> Change-Id: I3b530be9adaf8a9e98488e8dc25891721ff36244 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144212 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-13crashtesting: (assert) fix treatment of "#FMT" input line valueEike Rathke1-2/+3
For "#FMT" test the original format type for not being NUMBER, the current format type may be different from finding an edit format. This constellation did not matter until commit 4fd1333ba4bb4f2311e9098291154772bd310429 CommitDate: Thu Mar 25 15:00:31 2021 +0100 tdf#140968 tdf#140978 XLSX import: fix lost rounded filters introduced the bFiltering parameter in which case the edit format is not used (and bFiltering is also set when collecting the filter entries for .xls export). In fact the logic should be changed such that obtaining the edit format isn't even executed in that case. For now just fix the "#FMT" case to be backported. Also, the bool return of SvNumberformat::GetOutputString(double,OUString&,Color**) does not indicate success or failure, but whether the "star" asterisk spreading was inserted or not. Contrary to SvNumberformat::GetOutputString(double,sal_uInt16,OUString&) ... cough. Change-Id: Ic8cbbd283a80c654a9ff22ea36897c9b72b8837d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144110 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-12-12crashtesting: relax assert seen on loading forum-mso-en4-151836.xlsxCaolán McNamara1-1/+1
Change-Id: Ib21ab9747219589bb5b1ce13eb0feacbff89efb9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143987 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-12crashtesting: null deref see on loading forum-mso-en4-531817.xlsxCaolán McNamara1-1/+2
Change-Id: I8fb92edc32cabecd0f1ff5090f1b102e090aa840 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143983 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-12crashtesting: assert seen on loading forum-mso-en4-497867.xlsxCaolán McNamara1-1/+1
Change-Id: Ifa5e2711981097a648d7127d2dc777bc96b04edb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143982 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-12crashtesting: assert see on loading forum-mso-en4-489894.xlsxCaolán McNamara1-1/+12
Change-Id: I402705ea911ca248afb812b63a897c1df9884a22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143980 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-11crashtesting: accept timestamp with Z suffix as validCaolán McNamara1-2/+3
seen with forum-mso-en4-652977.xlsx Change-Id: I5ca7be851c279d28e225cba1ba401a4f7fa99e87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143944 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-11crashtesting: null deref seen with forum-mso-en4-763051.xlsxCaolán McNamara1-0/+6
Change-Id: I721ab5fc78efafac9bcb7594e881773863d867f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143943 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-08xlsx: Don't add cell data to chart data sequence if in totalsRowofftkp3-0/+49
When importing data from a cell range to use in a chart, if a cell is in the totalsRow it is now ignored if it's the last row in the range. Change-Id: Ie8c79b995c4d46b361492e8f7687894e2640392f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143488 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-11-30xlsx: Add test for totalsRowFunction roundtripofftkp2-0/+25
Change-Id: I3b7539a88abbe2f9bab3331d8550c1050c52059a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143137 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-11-30xlsx: Import table column attribute XML_totalsRowFunctionofftkp5-7/+40
Import table column attribute totalsRowFunction and also export it, which fixes a warning when roundtripped on a different office suite. Change-Id: Icc76fc310aef3bd51bcefebece57f962a56b7cca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142843 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-11-29sc: test exporting to xls/xlsx with password protectionXisco Fauli2-11/+19
Change-Id: I79ebc0d4f65c26aab8c04399a47ce1cbc631cf76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143432 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-11-27crashtesting: null derefCaolán McNamara1-4/+9
on exporting fdo45102-1.ods to xlsx presumably since commit c4d7b9c3ec6e44b96134fdfb036be7f9fcf39f9d Date: Wed Nov 23 12:14:31 2022 +0100 tdf#70293 XLSX export: fix lost grouping of shapes Change-Id: I54ec34e1979d3aba5b4e2a6a64870e8f186b21cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143342 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-26crashtesting: failure to export various docs to xlsx/docxCaolán McNamara1-6/+9
e.g. ooo74880-2.ods since: commit 3f70375cf160841b6140f5f1b2b79af3652897f8 Date: Fri Nov 18 12:06:59 2022 +0100 tdf#152069 tdf#108356 PPTX export: fix missing tile properties bodge a workaround to not crash at least Change-Id: I23e0fc4e0f7a2c6d0b182945e252470f2338da09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143325 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-11-25tdf#70293 XLSX export: fix lost grouping of shapesTibor Nagy3-7/+30
SaveDrawingMLObjects() needs to skip all the grouped objects, including subgroups of a group to avoid of broken export. Fixing this and reverting the old workaround commit c323e60157422ae264e798b9a279a532fe9997af "ignore the (unsupported ) group customshape when exporting xlsx", Calc keeps the grouped state of the objects now. Change-Id: Ic320248a1c646d8adb9ce55bb2e5dcd880c1df6f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143142 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2022-11-15CppunitTest_sc_pivottable_filters_test: inherit from UnoApiXmlTestXisco Fauli2-447/+268
This fixes the TODO in testPivotCacheExportXLSX Change-Id: I904fd97754a7facd9c8896154965ff7d16cada9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142743 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-10-30tdf#151818 xlsx SmartArt import, apply theme text colorRegina Henschel4-0/+77
Similar as patch 2406ba67 for tdf#54095 but now for import of SmartArt objects in xlsx files. Change-Id: I12ca8c476fb9d141cef991e8e98ad13b53c70613 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142027 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2022-10-26CppunitTest_sc_jumbosheets_test: inherit from UnoApiTestXisco Fauli6-180/+160
Split a couple of tests into 2, one for ods and the other for xlsx Change-Id: I9f6f908b150c435933739335f6618d335ce8f9a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141889 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-10-24tdf#83671 make SmartArt visible in import of xlsxRegina Henschel7-4/+73
Problem is, that Excel writes a zero size in xdr:xfrm for the SmartArt. With that the import generates a background size with zero width and height and no shapes at all in the SmartArt group. The diagram DOM is imported correctly. The actual size is not known until the row and column values of the anchor are evaluated. The idea of this patch is to correct the background size directly and to repeat the import of drawing.xml when the actual size is known. I noticed that in import of SmartArt in docx there is a similar problem that the SmartArt shapes are missing at some point, as can be seen in ShapeContextHandler::getShape(), about line 428. It uses ShapeDrawingFragmentHandler to import the shapes. To be able to use that handler too, I have moved its header file to include. The solution for docx uses a loop over the vector getExtDrawings(). But I have not seen a SmartArt case, where more then one element exists in it. Whether the shape is a diagram, is indirectly tested currently. The shape has yet no direct method for it. Change-Id: I9d705ed5bfb2894e9ce740ebf8589e06b4870bed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141571 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-10-13tdf#150664 Initialize input line correctlySamuel Mehrbrodt1-1/+1
Initialize code was not called when xlsx file was loaded (line count is only stored in ods format). Change-Id: I5b01f6079921af77ffd6da09ae5d5388b8beff1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141281 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2022-09-21tdf#75702 ODS import: send text:line-break to editengJustin Luth2-2/+3
A cell with a line-break specified is no longer a simple string, so send the string to editeng where it can be properly displayed. This already works fine for XLS and XLSX. This change effectively means that text:line-break will disappear, and become two separate paragraphs. Given the nature of spreadsheets, the precidence in various other patches and the failure to properly display without this, I think I'm fine with unilaterally changing one paragraph into two. Change-Id: I7abcbc6f698a4cb319aea5465a8b0393cf63f31f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140262 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2022-09-07crashtesting: prevent nullptr accessEike Rathke1-2/+14
There's a xlsx export crash on *2nd* export with data pilot data of forum-en-38962.ods. We export without crash this .ods to xlsx *once*, but on saving again to xlsx it crashes. It also crashes with an export to .xls and then an export to .xlsx. Repeated exports to xls are crash free. Already on the first export there are loads of warning messages of ScDPMember::GetItemData: what data? nDim 0, mnDataId # ScNameToIndexAccess getByIndex failed com.sun.star.container.NoSuchElementException message: "at sc/source/core/data/dptabsrc.cxx:2267 The pivot tables are broken on both exports. This smells like some sort of data pilot cache corruption/insufficiency during .xlsx export but the root cause is yet unknown. This only fixes the crash symptom. Change-Id: Ie479f7f0abc4af284e61f6aa5a69943ccdd72eab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139611 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-08-25regression in SvxShape::NotifyNoel Grandin1-6/+5
from commit 526f0fce45fb014b09057403ae37c125e5a18655 Author: Noel Grandin <noelgrandin@gmail.com> Date: Fri Apr 9 12:05:16 2021 +0200 tdf#130326 speed up opening XLSX which resulted in things staying alive too long, affecting an upcoming patch of mine Change-Id: I52a0b35c9be55a554885a39d9e0710379304766b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138811 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-18tdf#150434: chart2, XLSX import: strip long legend labelsTünde Tóth3-0/+26
Full text of legend labels could overflow the chart area, if the legend text was too long. If it's longer than 520 characters, strip it at the first space from the 500th character (or if there is no space, at the 500th character). This results better XLSX interoperability, too. Change-Id: I23a94f6baaf620b40e9b2819738eba5c5a921722 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137492 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org>
2022-08-15xmloff: import and export for the chart data tableTomaž Vajngerl12-34/+330
This change adds import and export code for the the chart's data table properties to the ODF format for chart documents. The data table properties are exported to a new element "data-table", which then references a auto style with all the properties of a data table + new data table specific properties: HBorder, VBorder, Outline, Keys which are mapped to "show-horizontal-border", "show-vertical-border", "show-outline" and "show-keys" chart attributes. Also adds a test for the import and export: imports xlsx -> exports to ods -> imports ods Change-Id: Id45d9369fd619959e4d6eba7ca51c8ddce9c8f56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138260 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-08-15ofz#49713 Heap-use-after-freeCaolán McNamara2-4/+16
the dtor of ScAttrArray where the std::vector<ScAttrEntry> ends up will call ScDocumentPool::Remove on each entries pPattern, assuming that a matching ScDocumentPool::Put was called on each, something that is elided if we just do a simply copy here. probably a problem since: commit dddee125cc32f1ad5228e598a7de04e9654e65c1 Date: Thu Mar 10 15:03:25 2022 +0100 load ods/xlsx with full row attributes without allocating all columns Change-Id: I3a5e2e3fa4d40343f30f9eefbabd1579d8a97e02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138262 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-09tdf#150176 pptx chart import: fix automatic border styleBalazs Varga3-2/+18
Do not set the default border style for chart area in case of pptx charts, if it is came from the MSO as an automtic line style. regression from commit: 0dac43445b35da7e554dd4d7574c59611a0d0be1 (tdf#81437 XLSX import: fix missing chart border) Change-Id: Iaaaecc1dffe80c3f1528851e707236f2f7228bee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137993 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2022-08-02crashtesting: assert on export of forum-mso-en3-17256.xlsx to odsCaolán McNamara2-9/+20
a lang::IllegalArgumentException is thrown on seeing myEB_Y_Pos and the xml tags become unbalanced Change-Id: I2bd65933c572d7bd1d1ade699fcef21a63a85e9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137689 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-12tdf#96723 Number format: embedded text in decimalLaurent BP4-18/+55
Embedded text in decimal part is represented by negative position Use number:position as it is defined as integer in schema [1] Add Unit test to import XLSX file with embedded text in decimal and export to ODS [1] https://opengrok.libreoffice.org/xref/core/schema/odf1.3/OpenDocument-v1.3-schema.rng?r=7f3c9da5#7142 Change-Id: Ic68471a071ccbb1c3bec442bfcbe21d84f41ebd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135918 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2022-06-26tdf#148820 sc: fix conditional formatted cell colorBalazs Varga7-6/+64
Store foreground color for color filtering, because in OOXML the foreground color is used for color filtering and we overwrote it with the background color which is used for conditional formatted cells too. Regression from commit: 6f908b48373b71d45c8119b296b0504fb586f6f8 (tdf#143104 Fix xlsx import/export of color filter colors) Change-Id: I737e6f1170851822a2689fa477db59e62f0d47fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136055 Tested-by: Jenkins Tested-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-06-26more efficient recalculations from xlsx import of pivot tablesLuboš Luňák2-1/+13
The import of pivot tables in xlsx triggers recalculations, even though it's not necessary. Fixing that properly seems complex given how ScDPObject is designed, so at least ensure the calculation is efficient (formula grouping is otherwise done only after pivot table import). This can especially noticeable for formulas where groups make a big difference (e.g. COUNTIFS uses ScSortedRangeCache only for formula groups). Change-Id: I8dbdf854880707a9707cdc9dc3d73fc1d6b6b000 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136362 Tested-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-06-24crashtesting: forum-mso-en-13233.xlsx exports duplicate grouped-by attributesCaolán McNamara1-3/+4
there is a warning that "there should be no NumGroup and Group at the same field", here just prefer Group to Numgroup if both are present. Change-Id: If887f865ca2f1e4c6467a6f7d879c15dd55ab244 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136305 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-15don't assert on exporting forum-mso-de-104384.xlsx to xlsxCaolán McNamara1-1/+1
a case of this -2 is also mentioned in commit 97af58093978d8e6b9d90eedcc59141304e7200e Date: Fri Apr 5 22:04:13 2019 +0530 tdf#123421 : xlsx export : Don't write data field entry... Change-Id: Ieded6035539df9d3896f2f08cf03c195082d4987 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135817 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-14crashtesting: crash seen on exporting forum-it-5909.ods to xlsxCaolán McNamara1-3/+9
Change-Id: I64b629e2f5b0ece7f903049bd006775463f97586 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135818 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-13crashtesting: fix crash seen on loading forum-mso-de-98993.xlsxCaolán McNamara2-2/+2
which may explain the backtraces seen with BitmapFilterStackBlur::filter and BitmapBasicMorphologyFilter::filter in crashreporting Change-Id: Ib55cde1603d354b8ca0e336a08fe2d73b548f73f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135680 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-24sw XHTML import: handle non-image, non-RTF objects as clickable imagesMiklos Vajna9-12/+62
A pair of XHTML <object> elements is meant to be interpreted as "native data" (outer) and "fallback/preview image" (inner). In practice we map non-PNG + PNG pairs to images and OLE2 data + PNG pairs to OLE2 embedded objects. This setup works for OLE2 data and images, but XHTML producers can also put other raw data to the outer <object> like PDF, DOCX, XLSX, etc. These were mapped to ODummyEmbeddedObject, which preserves data, but you can't interact with the data. Fix the lack of interaction by changing how non-OLE2, non-image data is handled: map them to images where the image has a URL to the native data. This way the OS running Writer can decide how to handle that data. This required changing some existing tests where the intention was to have simple test data for OLE2 data, but that data was not OLE2, so the resulting doc model had images, but embedded objects were expected. Such tests now have OLE2 data instead. Change-Id: I0287ce2d9a02904e28cef619ff9f6e1f354d6147 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134874 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>