diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-12-10 17:06:28 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-12-10 17:41:38 +0100 |
commit | dbbfad3dfbee89c13956d3a9b4757c74a4a64cd2 (patch) | |
tree | 667cf5d4e8ae36195fb692836f23f5cf75c1d105 | |
parent | a645c8289454763568fbb5ba7ac99823778c7d3e (diff) |
DocxAttributeOutput::FlyFrameGraphic: avoid <a:ln> when there is no border
Change-Id: Ia94f490c0ad8c392bd8bbfbe889f5333c13e0022
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/image-noborder.docx | bin | 0 -> 14305 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport5.cxx | 6 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 37 |
3 files changed, 28 insertions, 15 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/image-noborder.docx b/sw/qa/extras/ooxmlexport/data/image-noborder.docx Binary files differnew file mode 100644 index 000000000000..7e0fc90d23a0 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/image-noborder.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx index 7d4f988426ec..89ead201944f 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx @@ -721,6 +721,12 @@ DECLARE_OOXMLEXPORT_TEST(testTblpprShape, "tblppr-shape.docx") CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2540), getProperty<sal_Int32>(xPageStyle, "LeftMargin")); } +DECLARE_OOXMLEXPORT_TEST(testImageNoborder, "image-noborder.docx") +{ + // This was 26; we exported border for an image that had no border. + CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt32>(0), getProperty<table::BorderLine2>(getShape(1), "TopBorder").LineWidth); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 862d75486f79..c8a80c55a3f2 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -4215,21 +4215,28 @@ void DocxAttributeOutput::FlyFrameGraphic( const SwGrfNode* pGrfNode, const Size m_pSerializer->singleElementNS( XML_a, XML_avLst, FSEND ); m_pSerializer->endElementNS( XML_a, XML_prstGeom ); - m_pSerializer->singleElementNS( XML_a, XML_noFill, - FSEND ); - m_pSerializer->startElementNS( XML_a, XML_ln, - XML_w, "9525", - FSEND ); - m_pSerializer->singleElementNS( XML_a, XML_noFill, - FSEND ); - m_pSerializer->singleElementNS( XML_a, XML_miter, - XML_lim, "800000", - FSEND ); - m_pSerializer->singleElementNS( XML_a, XML_headEnd, - FSEND ); - m_pSerializer->singleElementNS( XML_a, XML_tailEnd, - FSEND ); - m_pSerializer->endElementNS( XML_a, XML_ln ); + + const SvxBoxItem& rBoxItem = pFrmFmt->GetBox(); + const SvxBorderLine* pLeft = rBoxItem.GetLine(BOX_LINE_LEFT); + const SvxBorderLine* pRight = rBoxItem.GetLine(BOX_LINE_RIGHT); + const SvxBorderLine* pTop = rBoxItem.GetLine(BOX_LINE_TOP); + const SvxBorderLine* pBottom = rBoxItem.GetLine(BOX_LINE_BOTTOM); + if (pLeft || pRight || pTop || pBottom) + { + m_pSerializer->startElementNS( XML_a, XML_ln, + XML_w, "9525", + FSEND ); + m_pSerializer->singleElementNS( XML_a, XML_noFill, + FSEND ); + m_pSerializer->singleElementNS( XML_a, XML_miter, + XML_lim, "800000", + FSEND ); + m_pSerializer->singleElementNS( XML_a, XML_headEnd, + FSEND ); + m_pSerializer->singleElementNS( XML_a, XML_tailEnd, + FSEND ); + m_pSerializer->endElementNS( XML_a, XML_ln ); + } m_rExport.SdrExporter().writeDMLEffectLst(*pFrmFmt); |