From ebcf27d419e41a497242c98fcfec08a2088c0720 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 2 May 2018 22:04:08 +0200 Subject: tdf#116801 DOCX import: char styles have no IsAutoUpdate property See sw/source/core/unocore/unomapproperties.hxx:447, UNO_NAME_IS_AUTO_UPDATE is part of the COMMON_PARA_STYLE_PROPERTIES define. So it's not "list styles don't have this", but "only paragraph styles have this". Change-Id: I1c256b087cdc2e7e341f55d717ef8e678fc69fb4 Reviewed-on: https://gerrit.libreoffice.org/53766 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- sw/qa/extras/ooxmlexport/data/tdf116801.docx | Bin 0 -> 28554 bytes sw/qa/extras/ooxmlexport/ooxmlexport11.cxx | 12 ++++++++++++ writerfilter/source/dmapper/StyleSheetTable.cxx | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 sw/qa/extras/ooxmlexport/data/tdf116801.docx diff --git a/sw/qa/extras/ooxmlexport/data/tdf116801.docx b/sw/qa/extras/ooxmlexport/data/tdf116801.docx new file mode 100644 index 000000000000..f904546cf38b Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf116801.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx index 2fa19d54e65d..eb42cee254a2 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx @@ -369,6 +369,18 @@ DECLARE_OOXMLEXPORT_TEST(testTdf116985, "tdf116985.docx") CPPUNIT_ASSERT(nWidth > 4000); } +DECLARE_OOXMLEXPORT_TEST(testTdf116801, "tdf116801.docx") +{ + uno::Reference xTablesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference xTables(xTablesSupplier->getTextTables(), + uno::UNO_QUERY); + // This raised a lang::IndexOutOfBoundsException, table was missing from + // the import result. + uno::Reference xTable(xTables->getByIndex(0), uno::UNO_QUERY); + uno::Reference xCell(xTable->getCellByName("D1"), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(OUString("D1"), xCell->getString()); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index 3fe88227d92f..398a7ab0086f 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -1200,8 +1200,8 @@ void StyleSheetTable::ApplyStyleSheets( const FontTablePtr& rFontTable ) xPropertySet->setPropertyValue("StyleInteropGrabBag", uno::makeAny(aGrabBag)); } - // List styles don't support automatic update. - if (pEntry->bAutoRedefine && !bListStyle) + // Only paragraph styles support automatic updates. + if (pEntry->bAutoRedefine && bParaStyle) xPropertySet->setPropertyValue("IsAutoUpdate", uno::makeAny(true)); } else if(pEntry->nStyleTypeCode == STYLE_TYPE_TABLE) -- cgit