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 <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
This commit is contained in:
Regina Henschel
2017-10-22 19:34:44 +02:00
committed by Michael Stahl
parent 82957288ea
commit 21f61ffeb7

View File

@@ -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)