sw/qa/extras/ooxmlexport/data/tdf135047_ImageSpaceSettings.fodt |   42 
++++++++++
 sw/qa/extras/ooxmlexport/ooxmlexport15.cxx                      |   12 ++
 sw/source/filter/ww8/docxsdrexport.cxx                          |    6 -
 3 files changed, 58 insertions(+), 2 deletions(-)

New commits:
commit fe72feef80a4336be9a57a8137839de1d52b2601
Author:     Regényi Balázs <regenyi.balazsmik...@nisz.hu>
AuthorDate: Wed Aug 26 17:38:21 2020 +0200
Commit:     László Németh <nem...@numbertext.org>
CommitDate: Fri Aug 28 12:44:41 2020 +0200

    tdf#135047 DOCX export: fix spacing around objects
    
    defined by frame style instead of direct formatting.
    
    Co-authored-by: Szabolcs Tóth
    
    Change-Id: I376c6ff09d15fe8e2db699b4cfc157ce08016cfa
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101416
    Tested-by: Jenkins
    Tested-by: László Németh <nem...@numbertext.org>
    Reviewed-by: László Németh <nem...@numbertext.org>

diff --git a/sw/qa/extras/ooxmlexport/data/tdf135047_ImageSpaceSettings.fodt 
b/sw/qa/extras/ooxmlexport/data/tdf135047_ImageSpaceSettings.fodt
new file mode 100644
index 000000000000..47dac15a5bba
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf135047_ImageSpaceSettings.fodt
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<office:document xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text: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:officeooo="http://openoffice.org/2009/office"; 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
+ <office:styles>
+  <style:default-style style:family="graphic">
+   <style:graphic-properties draw:start-line-spacing-horizontal="0.283cm" 
draw:start-line-spacing-vertical="0.283cm" 
draw:end-line-spacing-horizontal="0.283cm" 
draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/>
+   <style:paragraph-properties style:text-autospace="ideograph-alpha" 
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="Arial" fo:font-size="12pt"/>
+  </style:default-style>
+  <style:style style:name="Graphics" style:family="graphic">
+   <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" 
svg:y="0cm" fo:margin-left="0.25cm" fo:margin-right="0.25cm" 
fo:margin-top="0.25cm" fo:margin-bottom="0.25cm" style:wrap="dynamic" 
style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" 
style:vertical-pos="top" style:vertical-rel="paragraph" 
style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
+  </style:style>
+  <style:style style:name="Standard" style:family="paragraph" 
style:class="text"/>
+  <style:default-style style:family="paragraph">
+   <style:text-properties fo:language="en" fo:country="US"/>
+  </style:default-style>
+ </office:styles>
+ <office:automatic-styles>
+  <style:style style:name="P1" style:family="paragraph" 
style:parent-style-name="Standard" style:master-page-name="Standard">
+   <style:paragraph-properties style:page-number="auto"/>
+  </style:style>
+  <style:style style:name="fr1" style:family="graphic" 
style:parent-style-name="Graphics">
+   <style:graphic-properties style:vertical-pos="from-top" 
style:vertical-rel="paragraph" style:horizontal-pos="from-left" 
style:horizontal-rel="paragraph" draw:color-mode="standard"/>
+  </style:style>
+ </office:automatic-styles>
+ <office:body>
+  <office:text>
+    <text:p text:style-name="P1"><draw:frame draw:style-name="fr1" 
draw:name="Pic1" text:anchor-type="paragraph" svg:x="4.877cm" svg:y="2.103cm" 
svg:width="6.724cm" svg:height="8.075cm" draw:z-index="0"><draw:image 
draw:mime-type="image/jpeg">
+      
<office:binary-data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgK
+       CgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/wAALCAACAAIBAREA/8QAFAAB
+       AAAAAAAAAAAAAAAAAAAACP/EAB4QAAAEBwAAAAAAAAAAAAAAAAACBAUGFiU0Q1Nh/9oACAEB
+       AAA/AD/CzM0Sw0UpHYJ8BdZeD//Z
+      </office:binary-data>
+     </draw:image>
+    </draw:frame>Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Vestibulum consequat mi quis pretium semper. Proin luctus orci ac neque 
venenatis, quis commodo dolor posuere. Curabitur dignissim sapien quis cursus 
egestas. Donec blandit auctor arcu, nec pellentesque eros molestie eget. In 
consectetur aliquam hendrerit. Sed cursus mauris vitae ligula pellentesque, non 
pellentesque urna aliquet. Fusce placerat mauris enim, nec rutrum purus semper 
vel. Praesent tincidunt neque eu pellentesque pharetra. Fusce pellentesque est 
orci.</text:p>
+   <text:p text:style-name="Standard">Integer sodales tincidunt tristique. Sed 
a metus posuere, adipiscing nunc et, viverra odio. Donec auctor molestie sem, 
sit amet tristique lectus hendrerit sed. Cras sodales nisl sed orci mattis 
iaculis. Nunc eget dolor accumsan, pharetra risus a, vestibulum mauris. Nunc 
vulputate lobortis mollis. Vivamus nec tellus faucibus, tempor magna nec, 
facilisis felis. Donec commodo enim a vehicula pellentesque. Nullam vehicula 
vestibulum est vel ultricies.</text:p>
+   <text:p text:style-name="Standard">Aliquam velit massa, laoreet vel leo 
nec, volutpat facilisis eros. Donec consequat arcu ut diam tempor luctus. Cum 
sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus 
mus. Praesent vitae lacus vel leo sodales pharetra a a nibh. Vestibulum ante 
ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam 
luctus tempus nibh, fringilla dictum augue consectetur eget. Curabitur at ante 
sit amet tortor pharetra molestie eu nec ante. Mauris tincidunt, nibh eu 
sollicitudin molestie, dolor sapien congue tortor, a pulvinar sapien turpis sed 
ante. Donec nec est elementum, euismod nulla in, mollis nunc.</text:p>
+   <text:p text:style-name="Standard"/>
+  </office:text>
+ </office:body>
+</office:document>
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx
index 7c23e44f5fd5..601a9cc742ce 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx
@@ -488,6 +488,18 @@ DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf133702, 
"tdf133702.docx")
     assertXPath(pXmlDocument, "/w:document/w:body/w:p[1]/w:pPr/w:framePr");
 }
 
+DECLARE_OOXMLEXPORT_TEST(testImageSpaceSettings, 
"tdf135047_ImageSpaceSettings.fodt")
+{
+    // tdf#135047 The spaces of image were not saved.
+    xmlDocUniquePtr pXmlDoc = parseExport();
+    if (!pXmlDoc)
+        return;
+    assertXPath(pXmlDoc, 
"/w:document/w:body/w:p[1]/w:r[1]/w:drawing/wp:anchor", "distT", "90170");
+    assertXPath(pXmlDoc, 
"/w:document/w:body/w:p[1]/w:r[1]/w:drawing/wp:anchor", "distB", "90170");
+    assertXPath(pXmlDoc, 
"/w:document/w:body/w:p[1]/w:r[1]/w:drawing/wp:anchor", "distL", "90170");
+    assertXPath(pXmlDoc, 
"/w:document/w:body/w:p[1]/w:r[1]/w:drawing/wp:anchor", "distR", "90170");
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/ww8/docxsdrexport.cxx 
b/sw/source/filter/ww8/docxsdrexport.cxx
index 805fae063a16..cdae55937a4e 100644
--- a/sw/source/filter/ww8/docxsdrexport.cxx
+++ b/sw/source/filter/ww8/docxsdrexport.cxx
@@ -357,8 +357,10 @@ void DocxSdrExport::startDMLAnchorInline(const 
SwFrameFormat* pFrameFormat, cons
     m_pImpl->setParagraphHasDrawing(true);
     m_pImpl->getSerializer()->startElementNS(XML_w, XML_drawing);
 
-    const SvxLRSpaceItem aLRSpaceItem = pFrameFormat->GetLRSpace(false);
-    const SvxULSpaceItem aULSpaceItem = pFrameFormat->GetULSpace(false);
+    // tdf#135047: It must be allowed to find in parents too, but default 
value of bInP parameter
+    // for GetLRSpace() and GetULSpace() is true, so no direct setting is 
required.
+    const SvxLRSpaceItem& aLRSpaceItem = pFrameFormat->GetLRSpace();
+    const SvxULSpaceItem& aULSpaceItem = pFrameFormat->GetULSpace();
 
     bool isAnchor;
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to