sd/qa/unit/data/objectwithtext.fodg |  189 ++++++++++++++++++++++++++++++++++++
 sd/qa/unit/export-tests.cxx         |   32 ++++++
 xmloff/source/draw/shapeexport.cxx  |   15 +-
 3 files changed, 228 insertions(+), 8 deletions(-)

New commits:
commit 0958cd79545a21a37642f812937d57164117bffe
Author: Regina Henschel <[email protected]>
Date:   Sun Oct 22 19:34:44 2017 +0200

    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.
    
    Reviewed-on: https://gerrit.libreoffice.org/43696
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Armin Le Grand <[email protected]>
    Reviewed-by: Thorsten Behrens <[email protected]>
    Reviewed-by: Michael Stahl <[email protected]>
    (cherry picked from commit 21f61ffeb7e72caee98f12cac2dd25fe7ec3a821)
    
    tdf#112547 sd: add unit test
    (cherry picked from commit b3cfb849b19dc1e40c12586bebd2b76fc41007fa)
    
    Change-Id: I879135f1a869e46c32361db653ede05227bab95e
    Reviewed-on: https://gerrit.libreoffice.org/44374
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/sd/qa/unit/data/objectwithtext.fodg 
b/sd/qa/unit/data/objectwithtext.fodg
new file mode 100644
index 000000000000..f58a377f2a3f
--- /dev/null
+++ b/sd/qa/unit/data/objectwithtext.fodg
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<office:document 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:scr
 ipt="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" 
xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xml
 ns:calcext:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:css3t="http://www.w3.org/TR/css3-text/"; office:version="1.2" 
office:mimetype="application/vnd.oasis.opendocument.graphics">
+ 
<office:meta><meta:creation-date>2017-11-06T19:36:05.770859258</meta:creation-date><dc:date>2017-11-06T19:38:11.864425937</dc:date><meta:editing-duration>PT2M6S</meta:editing-duration><meta:editing-cycles>1</meta:editing-cycles><meta:document-statistic
 
meta:object-count="1"/><meta:generator>LibreOfficeDev/6.0.0.0.alpha1$Linux_X86_64
 
LibreOffice_project/2f8c1379a07d581ac46337ca0f91609c544c3d6e</meta:generator></office:meta>
+ <office:font-face-decls>
+  <style:font-face style:name="Liberation Sans" 
svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="roman" 
style:font-pitch="variable"/>
+  <style:font-face style:name="Liberation Serif" 
svg:font-family="&apos;Liberation Serif&apos;" 
style:font-family-generic="roman" style:font-pitch="variable"/>
+  <style:font-face style:name="DejaVu Sans" svg:font-family="&apos;DejaVu 
Sans&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
+  <style:font-face style:name="Lohit Devanagari" svg:font-family="&apos;Lohit 
Devanagari&apos;" style:font-family-generic="system" 
style:font-pitch="variable"/>
+  <style:font-face style:name="Source Han Sans CN Regular" 
svg:font-family="&apos;Source Han Sans CN Regular&apos;" 
style:font-family-generic="system" style:font-pitch="variable"/>
+ </office:font-face-decls>
+ <office:styles>
+  <draw:marker draw:name="Arrow" svg:viewBox="0 0 20 30" svg:d="M10 0l-10 
30h20z"/>
+  <style:default-style style:family="graphic">
+   <style:graphic-properties svg:stroke-color="#3465a4" 
draw:fill-color="#729fcf" fo:wrap-option="no-wrap"/>
+   <style:paragraph-properties style:text-autospace="ideograph-alpha" 
style:punctuation-wrap="simple" style:line-break="strict" 
style:font-independent-line-spacing="false">
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties style:use-window-font-color="true" 
style:font-name="Liberation Serif" fo:font-size="24pt" fo:language="de" 
fo:country="DE" style:font-name-asian="DejaVu Sans" 
style:font-size-asian="24pt" style:language-asian="zh" style:country-asian="CN" 
style:font-name-complex="DejaVu Sans" style:font-size-complex="24pt" 
style:language-complex="hi" style:country-complex="IN"/>
+  </style:default-style>
+  <style:style style:name="standard" style:family="graphic">
+   <style:graphic-properties draw:stroke="solid" svg:stroke-width="0cm" 
svg:stroke-color="#3465a4" draw:marker-start-width="0.2cm" 
draw:marker-start-center="false" draw:marker-end-width="0.2cm" 
draw:marker-end-center="false" draw:fill="solid" draw:fill-color="#729fcf" 
draw:textarea-horizontal-align="justify" fo:padding-top="0.125cm" 
fo:padding-bottom="0.125cm" fo:padding-left="0.25cm" fo:padding-right="0.25cm" 
draw:shadow="hidden" draw:shadow-offset-x="0.2cm" draw:shadow-offset-y="0.2cm" 
draw:shadow-color="#808080">
+    <text:list-style style:name="standard">
+     <text:list-level-style-bullet text:level="1" text:bullet-char="●">
+      <style:list-level-properties text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="2" text:bullet-char="●">
+      <style:list-level-properties text:space-before="0.6cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="3" text:bullet-char="●">
+      <style:list-level-properties text:space-before="1.2cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="4" text:bullet-char="●">
+      <style:list-level-properties text:space-before="1.8cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="5" text:bullet-char="●">
+      <style:list-level-properties text:space-before="2.4cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="6" text:bullet-char="●">
+      <style:list-level-properties text:space-before="3cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="7" text:bullet-char="●">
+      <style:list-level-properties text:space-before="3.6cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="8" text:bullet-char="●">
+      <style:list-level-properties text:space-before="4.2cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="9" text:bullet-char="●">
+      <style:list-level-properties text:space-before="4.8cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+     <text:list-level-style-bullet text:level="10" text:bullet-char="●">
+      <style:list-level-properties text:space-before="5.4cm" 
text:min-label-width="0.6cm"/>
+      <style:text-properties fo:font-family="StarSymbol" 
style:use-window-font-color="true" fo:font-size="45%"/>
+     </text:list-level-style-bullet>
+    </text:list-style>
+   </style:graphic-properties>
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" 
fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" 
fo:text-indent="0cm"/>
+   <style:text-properties fo:font-variant="normal" fo:text-transform="none" 
style:use-window-font-color="true" style:text-outline="false" 
style:text-line-through-style="none" style:text-line-through-type="none" 
style:font-name="Liberation Sans" fo:font-family="&apos;Liberation Sans&apos;" 
style:font-family-generic="roman" style:font-pitch="variable" 
fo:font-size="18pt" fo:font-style="normal" fo:text-shadow="none" 
style:text-underline-style="none" fo:font-weight="normal" 
style:letter-kerning="true" style:font-name-asian="Source Han Sans CN Regular" 
style:font-family-asian="&apos;Source Han Sans CN Regular&apos;" 
style:font-family-generic-asian="system" style:font-pitch-asian="variable" 
style:font-size-asian="18pt" style:font-style-asian="normal" 
style:font-weight-asian="normal" style:font-name-complex="Lohit Devanagari" 
style:font-family-complex="&apos;Lohit Devanagari&apos;" 
style:font-family-generic-complex="system" style:font-pitch-complex="variable" 
style:font-size-complex="18pt"
  style:font-style-complex="normal" style:font-weight-complex="normal" 
style:text-emphasize="none" style:font-relief="none" 
style:text-overline-style="none" style:text-overline-color="font-color"/>
+  </style:style>
+  <style:style style:name="objectwitharrow" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="solid" svg:stroke-width="0.15cm" 
svg:stroke-color="#000000" draw:marker-start="Arrow" 
draw:marker-start-width="0.7cm" draw:marker-start-center="true" 
draw:marker-end-width="0.3cm"/>
+  </style:style>
+  <style:style style:name="objectwithshadow" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:shadow="visible" 
draw:shadow-offset-x="0.2cm" draw:shadow-offset-y="0.2cm" 
draw:shadow-color="#808080"/>
+  </style:style>
+  <style:style style:name="objectwithoutfill" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties svg:stroke-color="#000000" draw:fill="none"/>
+  </style:style>
+  <style:style style:name="Object_20_with_20_no_20_fill_20_and_20_no_20_line" 
style:display-name="Object with no fill and no line" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+  </style:style>
+  <style:style style:name="text" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+  </style:style>
+  <style:style style:name="textbody" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+   <style:text-properties fo:font-size="16pt"/>
+  </style:style>
+  <style:style style:name="textbodyjustfied" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+   <style:paragraph-properties fo:text-align="justify"/>
+  </style:style>
+  <style:style style:name="textbodyindent" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" 
fo:text-indent="0.6cm"/>
+  </style:style>
+  <style:style style:name="title" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+   <style:text-properties fo:font-size="44pt"/>
+  </style:style>
+  <style:style style:name="title1" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="solid" 
draw:fill-color="#008080" draw:shadow="visible" draw:shadow-offset-x="0.2cm" 
draw:shadow-offset-y="0.2cm" draw:shadow-color="#808080"/>
+   <style:paragraph-properties fo:text-align="center"/>
+   <style:text-properties fo:font-size="24pt"/>
+  </style:style>
+  <style:style style:name="title2" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties svg:stroke-width="0.05cm" 
draw:fill-color="#ffcc99" draw:shadow="visible" draw:shadow-offset-x="0.2cm" 
draw:shadow-offset-y="0.2cm" draw:shadow-color="#808080"/>
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0.2cm" 
fo:margin-top="0.1cm" fo:margin-bottom="0.1cm" fo:text-align="center" 
fo:text-indent="0cm"/>
+   <style:text-properties fo:font-size="36pt"/>
+  </style:style>
+  <style:style style:name="headline" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+   <style:paragraph-properties fo:margin-top="0.42cm" 
fo:margin-bottom="0.21cm"/>
+   <style:text-properties fo:font-size="24pt"/>
+  </style:style>
+  <style:style style:name="headline1" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+   <style:paragraph-properties fo:margin-top="0.42cm" 
fo:margin-bottom="0.21cm"/>
+   <style:text-properties fo:font-size="18pt" fo:font-weight="bold"/>
+  </style:style>
+  <style:style style:name="headline2" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="none" draw:fill="none"/>
+   <style:paragraph-properties fo:margin-top="0.42cm" 
fo:margin-bottom="0.21cm"/>
+   <style:text-properties fo:font-size="14pt" fo:font-style="italic" 
fo:font-weight="bold"/>
+  </style:style>
+  <style:style style:name="measure" style:family="graphic" 
style:parent-style-name="standard">
+   <style:graphic-properties draw:stroke="solid" svg:stroke-color="#000000" 
draw:marker-start="Arrow" draw:marker-start-width="0.2cm" 
draw:marker-end="Arrow" draw:marker-end-width="0.2cm" draw:fill="none" 
draw:show-unit="true"/>
+   <style:text-properties fo:font-size="12pt"/>
+  </style:style>
+ </office:styles>
+ <office:automatic-styles>
+  <style:page-layout style:name="PM0">
+   <style:page-layout-properties fo:margin-top="1cm" fo:margin-bottom="1cm" 
fo:margin-left="1cm" fo:margin-right="1cm" fo:page-width="21cm" 
fo:page-height="29.7cm" style:print-orientation="portrait"/>
+  </style:page-layout>
+  <style:style style:name="dp1" style:family="drawing-page">
+   <style:drawing-page-properties draw:background-size="border" 
draw:fill="none"/>
+  </style:style>
+  <style:style style:name="dp2" style:family="drawing-page"/>
+  <style:style style:name="gr1" style:family="graphic" 
style:parent-style-name="Object_20_with_20_no_20_fill_20_and_20_no_20_line">
+   <style:graphic-properties draw:textarea-vertical-align="middle" 
draw:ole-draw-aspect="1" style:protect="size"/>
+  </style:style>
+  <style:style style:name="P1" style:family="paragraph">
+   <style:paragraph-properties fo:text-align="center"/>
+  </style:style>
+ </office:automatic-styles>
+ <office:master-styles>
+  <draw:layer-set>
+   <draw:layer draw:name="layout"/>
+   <draw:layer draw:name="background"/>
+   <draw:layer draw:name="backgroundobjects"/>
+   <draw:layer draw:name="controls"/>
+   <draw:layer draw:name="measurelines"/>
+  </draw:layer-set>
+  <style:master-page style:name="Default" style:page-layout-name="PM0" 
draw:style-name="dp1"/>
+ </office:master-styles>
+ <office:body>
+  <office:drawing>
+   <draw:page draw:name="page1" draw:style-name="dp2" 
draw:master-page-name="Default">
+    <draw:frame draw:style-name="gr1" draw:text-style-name="P1" 
draw:layer="layout" svg:width="5cm" svg:height="2.6cm" svg:x="9.651cm" 
svg:y="14.29cm">
+     <draw:object>
+      <loext:p text:style-name="P1">foobar</loext:p>
+      <math xmlns="http://www.w3.org/1998/Math/MathML"; display="block">
+       <semantics>
+        <mrow>
+         <mn>1</mn>
+         <mo stretchy="false">+</mo>
+         <mn>1</mn>
+        </mrow>
+        <annotation encoding="StarMath 5.0">1+1</annotation>
+       </semantics>
+      </math>
+     </draw:object><draw:image>
+      
<office:binary-data>VkNMTVRGAQAxAAAAAAAAAAEAGwAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAZYDAADX
+       AQAAHQAAAJYAAQACAAAACQCLAAEAAgAAAP//gQABABAAAAAAAAAAAAAAAJUDAADWAQAAlQAB
+       AAQAAAAAAAAAlgABAAIAAAAJAIsAAQACAAAAHwCKAAEAQgAAAAMAPAAAABAATGliZXJhdGlv
+       biBTZXJpZgAAAAAAAKYBAAAAAAAAAAAFAAAAAAAAAP8DAAAAAAAAAAEA/wMAAAAAAIgAAQAC
+       AAAAAQCHAAEABQAAAP////8AhgABAAQAAAAAAAAAcgACABcAAABqAAAAcgEAAAEAMdQAAAAA
+       AAEAAQAxAIwAAQAAAAAAiwABAAIAAAAfAIoAAQA8AAAAAwA2AAAACgBPcGVuU3ltYm9sAAAA
+       AAAApgEAAP//AAAAAAUAAAAAAAAA/wMAAAAAAAAAAQD/AwAAAAAAiAABAAIAAAABAIcAAQAF
+       AAAA/////wCGAAEABAAAAAAAAAByAAIAGgAAAFgBAAByAQAAAQAAACsA9gAAAAAAAQABACsA
+       jAABAAAAAACLAAEAAgAAAB8AigABAEIAAAADADwAAAAQAExpYmVyYXRpb24gU2VyaWYAAAAA
+       AACmAQAAAAAAAAAABQAAAAAAAAD/AwAAAAAAAAABAP8DAAAAAACIAAEAAgAAAAEAhwABAAUA
+       AAD/////AIYAAQAEAAAAAAAAAHIAAgAXAAAAYQIAAHIBAAABADHUAAAAAAABAAEAMQCMAAEA
+       AAAAAJUAAQAEAAAAAAAAAJYAAQACAAAACQCMAAEAAAAAAA==
+      </office:binary-data>
+     </draw:image>
+    </draw:frame>
+   </draw:page>
+  </office:drawing>
+ </office:body>
+</office:document>
diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx
index 968e42418a3f..10590131e939 100644
--- a/sd/qa/unit/export-tests.cxx
+++ b/sd/qa/unit/export-tests.cxx
@@ -93,6 +93,7 @@ public:
     void testTdf62176();
     void testTransparentBackground();
     void testEmbeddedPdf();
+    void testEmbeddedText();
     void testAuthorField();
     void testTdf100926();
     void testPageWithTransparentBackground();
@@ -112,6 +113,7 @@ public:
     CPPUNIT_TEST(testTdf62176);
     CPPUNIT_TEST(testTransparentBackground);
     CPPUNIT_TEST(testEmbeddedPdf);
+    CPPUNIT_TEST(testEmbeddedText);
     CPPUNIT_TEST(testAuthorField);
     CPPUNIT_TEST(testTdf100926);
     CPPUNIT_TEST(testPageWithTransparentBackground);
@@ -661,6 +663,36 @@ void SdExportTest::testEmbeddedPdf()
 #endif
 }
 
+void SdExportTest::testEmbeddedText()
+{
+    sd::DrawDocShellRef xShell = 
loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/objectwithtext.fodg"), 
FODG);
+    xShell = saveAndReload( xShell.get(), ODG );
+
+    uno::Reference<drawing::XDrawPage> xPage = getPage(0, xShell);
+    uno::Reference<beans::XPropertySet> xShape(xPage->getByIndex(0), 
uno::UNO_QUERY);
+    uno::Reference<text::XText> xText(xShape, uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xText.is());
+
+    uno::Reference<container::XEnumerationAccess> xEA(xShape, uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xEA->hasElements());
+    uno::Reference<container::XEnumeration> xEnum(xEA->createEnumeration());
+    uno::Reference<text::XTextContent> xTC;
+    xEnum->nextElement() >>= xTC;
+    CPPUNIT_ASSERT(xTC.is());
+
+    uno::Reference<container::XEnumerationAccess> xParaEA(xTC, uno::UNO_QUERY);
+    uno::Reference<container::XEnumeration> 
xParaEnum(xParaEA->createEnumeration());
+    uno::Reference<beans::XPropertySet> xPortion(xParaEnum->nextElement(), 
uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xPortion.is());
+    uno::Reference<text::XTextRange> xRange(xPortion, uno::UNO_QUERY);
+    OUString type;
+    xPortion->getPropertyValue("TextPortionType") >>= type;
+    CPPUNIT_ASSERT_EQUAL(OUString("Text"), type);
+    CPPUNIT_ASSERT_EQUAL(OUString("foobar"), xRange->getString()); //tdf#112547
+
+    xShell->DoClose();
+}
+
 void SdExportTest::testAuthorField()
 {
     ::sd::DrawDocShellRef xDocShRef = 
loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/odp/author_fixed.odp"), 
ODP);
diff --git a/xmloff/source/draw/shapeexport.cxx 
b/xmloff/source/draw/shapeexport.cxx
index b36dbc49e81b..899fa0015839 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -2777,14 +2777,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);
@@ -2849,6 +2841,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)
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to