diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2022-09-21 11:11:47 +0300 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2022-09-22 11:05:18 +0200 |
commit | 226b1c2006e936e4b32748b810624c5d655c4a98 (patch) | |
tree | 96adefed556ca91004f864ae7c394b126aa36dc6 | |
parent | a0a34f08730c78f311d03aeab506c8fe83cdc3e7 (diff) |
tdf#151100: xText->getString() may be empty for content needing export
The check that is removed prevents collecting the table data.
Assume that it's the performance optimization, and that processing
empty text objects would be fast anyway.
This basically reverts commit 73fcb052edf1a21d785583bc53e8b4323b577bb1
Author Christian Lippka <cl@openoffice.org>
Date Thu Nov 22 12:26:35 2001 +0000
#90330# only export text autostyles for shapes with text
and commit 7661bbbaef31adfdb298b1447301b24a70f85834
Author Michael Stahl <mstahl@redhat.com>
Date Fri Nov 25 22:46:34 2016 +0100
tdf#102479 ODF export: ignore exceptions when checking shape text
that becomes unnecessary after the former change is reverted.
Change-Id: I709a7b4c5ac1cc0621d3a1b18f2eb74feb987efb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140313
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140352
Tested-by: Jenkins
-rw-r--r-- | sw/qa/extras/odfexport/data/tdf151100.docx | bin | 0 -> 17741 bytes | |||
-rw-r--r-- | sw/qa/extras/odfexport/odfexport2.cxx | 14 | ||||
-rw-r--r-- | xmloff/source/draw/shapeexport.cxx | 15 |
3 files changed, 14 insertions, 15 deletions
diff --git a/sw/qa/extras/odfexport/data/tdf151100.docx b/sw/qa/extras/odfexport/data/tdf151100.docx Binary files differnew file mode 100644 index 000000000000..e0341bdb9c8c --- /dev/null +++ b/sw/qa/extras/odfexport/data/tdf151100.docx diff --git a/sw/qa/extras/odfexport/odfexport2.cxx b/sw/qa/extras/odfexport/odfexport2.cxx index 2ced17e903de..c6f5d025edea 100644 --- a/sw/qa/extras/odfexport/odfexport2.cxx +++ b/sw/qa/extras/odfexport/odfexport2.cxx @@ -28,6 +28,20 @@ public: }; +CPPUNIT_TEST_FIXTURE(Test, tdf151100) +{ + // Similar to tdf135942 + + loadAndReload("tdf151100.docx"); + // All table autostyles should be collected, including nested, and must not crash. + + CPPUNIT_ASSERT_EQUAL(1, getPages()); + + xmlDocUniquePtr pXmlDoc = parseExport("styles.xml"); + + assertXPath(pXmlDoc, "/office:document-styles/office:automatic-styles/style:style[@style:family='table']", 1); +} + DECLARE_ODFEXPORT_TEST(testTdf52065_centerTabs, "testTdf52065_centerTabs.odt") { CPPUNIT_ASSERT_EQUAL(1, getPages()); diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx index 727489f5b7a5..b804b6800efa 100644 --- a/xmloff/source/draw/shapeexport.cxx +++ b/xmloff/source/draw/shapeexport.cxx @@ -306,23 +306,8 @@ void XMLShapeExport::collectShapeAutoStyles(const uno::Reference< drawing::XShap if( xPropSet.is() && bObjSupportsText ) { uno::Reference< text::XText > xText(xShape, uno::UNO_QUERY); - bool bSkip = false; if (xText.is()) { - try - { - bSkip = xText->getString().isEmpty(); - } - catch (uno::RuntimeException const&) - { - // tdf#102479: SwXTextFrame that contains only a table will - // throw, but the table must be iterated so that - // SwXMLExport::ExportTableLines() can find its auto styles - // so do not skip it! - } - } - if (!bSkip) - { uno::Reference< beans::XPropertySetInfo > xPropSetInfo( xPropSet->getPropertySetInfo() ); if( xPropSetInfo.is() && xPropSetInfo->hasPropertyByName("IsEmptyPresentationObject") ) |