summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2018-05-02 22:04:08 +0200
committerCaolán McNamara <caolanm@redhat.com>2018-05-04 17:30:07 +0200
commit2019109e20dc522dd3bd6a730bf639efc2c00309 (patch)
tree31ee784cc56de39ea0a6a6cceec8785e6d112dbc
parent599ab0f82ebcb29a5205d77daed72b842e839800 (diff)
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". (cherry picked from commit ebcf27d419e41a497242c98fcfec08a2088c0720) Change-Id: I1c256b087cdc2e7e341f55d717ef8e678fc69fb4 Reviewed-on: https://gerrit.libreoffice.org/53773 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sw/qa/extras/ooxmlexport/data/tdf116801.docxbin0 -> 28554 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport11.cxx12
-rw-r--r--writerfilter/source/dmapper/StyleSheetTable.cxx4
3 files changed, 14 insertions, 2 deletions
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
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf116801.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
index bc7c15524778..7af6f0dc39e2 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
@@ -218,6 +218,18 @@ DECLARE_OOXMLEXPORT_TEST(testTdf116985, "tdf116985.docx")
CPPUNIT_ASSERT(nWidth > 4000);
}
+DECLARE_OOXMLEXPORT_TEST(testTdf116801, "tdf116801.docx")
+{
+ uno::Reference<text::XTextTablesSupplier> xTablesSupplier(mxComponent, uno::UNO_QUERY);
+ uno::Reference<container::XIndexAccess> xTables(xTablesSupplier->getTextTables(),
+ uno::UNO_QUERY);
+ // This raised a lang::IndexOutOfBoundsException, table was missing from
+ // the import result.
+ uno::Reference<text::XTextTable> xTable(xTables->getByIndex(0), uno::UNO_QUERY);
+ uno::Reference<text::XTextRange> 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 55996991a84a..d192eaa5ab53 100644
--- a/writerfilter/source/dmapper/StyleSheetTable.cxx
+++ b/writerfilter/source/dmapper/StyleSheetTable.cxx
@@ -1197,8 +1197,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)