From 21f61ffeb7e72caee98f12cac2dd25fe7ec3a821 Mon Sep 17 00:00:00 2001 From: Regina Henschel Date: Sun, 22 Oct 2017 19:34:44 +0200 Subject: tdf#112547 element p to draw:object, import expects it there There exists no documents produced by LibreOffice, where text on OLE objects has worked, because import expects the paragraphs inside the draw:object element, but LO has written them outside. The patch changes LO to write the paragraphs inside the draw:object element. The patch does not enable LibreOffice to read the paragraphs in old documents. But versions at least since 5.1 will be able to read text on OLE objects from documents which were produced by versions with applied patch. Change-Id: I879135f1a869e46c32361db653ede05227bab95e Reviewed-on: https://gerrit.libreoffice.org/43696 Tested-by: Jenkins Reviewed-by: Armin Le Grand Reviewed-by: Thorsten Behrens Reviewed-by: Michael Stahl --- xmloff/source/draw/shapeexport.cxx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'xmloff') diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx index 7c1c9cb206bb..88cc1efd9782 100644 --- a/xmloff/source/draw/shapeexport.cxx +++ b/xmloff/source/draw/shapeexport.cxx @@ -2774,14 +2774,6 @@ void XMLShapeExport::ImpExportOLE2Shape( if( !bIsEmptyPresObj || bSaveBackwardsCompatible ) { - // tdf#112005 export text *before* adding any attributes - if (!bIsEmptyPresObj && supportsText(eShapeType)) - { - // #i118485# Add text export, the draw OLE shape allows text now - // fdo#58571 chart objects don't allow text:p - ImpExportText( xShape, TextPNS::EXTENSION ); - } - if (pAttrList) { mrExport.AddAttributeList(pAttrList); @@ -2846,6 +2838,13 @@ void XMLShapeExport::ImpExportOLE2Shape( enum XMLTokenEnum eElem = sClassId.isEmpty() ? XML_OBJECT : XML_OBJECT_OLE ; SvXMLElementExport aElem( mrExport, XML_NAMESPACE_DRAW, eElem, true, true ); + // tdf#112547 export text as child of draw:object, where import expects it + if (!bIsEmptyPresObj && supportsText(eShapeType)) + { + // #i118485# Add text export, the draw OLE shape allows text now + ImpExportText( xShape, TextPNS::EXTENSION ); + } + if(bExportEmbedded && !bIsEmptyPresObj) { if(bInternal) -- cgit