From 0ec92e9bc778d6edf3a349e7c89eac8850caef60 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Sat, 25 Oct 2014 12:15:16 +0200 Subject: fdo#82858 RTF export: fix "none" line style of TextFrames Regression from commit 9e6a5b94e00f0054b058dbb42c2c0b6c75236c9d (RtfAttributeOutput::FormatBox: export line{Color,Width} shape properties, 2013-04-15), in case lineColor is written, but there is no border style, then an explicit fLine=0 property is needed, otherwise a black border shows up. (cherry picked from commit f824b1b575dbdb2bc515656a66cbb94764031a44) Change-Id: I6d6eedbc8d3ee4bee0f2aadb51a376c7734c6640 Reviewed-on: https://gerrit.libreoffice.org/12185 Reviewed-by: Michael Stahl Tested-by: Michael Stahl --- sw/CppunitTest_sw_rtfexport.mk | 1 + sw/qa/extras/rtfexport/data/fdo82858.docx | Bin 0 -> 10672 bytes sw/qa/extras/rtfexport/rtfexport.cxx | 6 ++++++ sw/source/filter/ww8/rtfattributeoutput.cxx | 3 +++ 4 files changed, 10 insertions(+) create mode 100644 sw/qa/extras/rtfexport/data/fdo82858.docx diff --git a/sw/CppunitTest_sw_rtfexport.mk b/sw/CppunitTest_sw_rtfexport.mk index 9c5e175cc830..bacb2c167dd2 100644 --- a/sw/CppunitTest_sw_rtfexport.mk +++ b/sw/CppunitTest_sw_rtfexport.mk @@ -75,6 +75,7 @@ $(eval $(call gb_CppunitTest_use_components,sw_rtfexport,\ uui/util/uui \ writerfilter/util/writerfilter \ xmloff/util/xo \ + oox/util/oox \ )) $(eval $(call gb_CppunitTest_use_configuration,sw_rtfexport)) diff --git a/sw/qa/extras/rtfexport/data/fdo82858.docx b/sw/qa/extras/rtfexport/data/fdo82858.docx new file mode 100644 index 000000000000..e0b1a1392da6 Binary files /dev/null and b/sw/qa/extras/rtfexport/data/fdo82858.docx differ diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx index 06172585cc95..0f53098b82b4 100644 --- a/sw/qa/extras/rtfexport/rtfexport.cxx +++ b/sw/qa/extras/rtfexport/rtfexport.cxx @@ -661,6 +661,12 @@ DECLARE_RTFEXPORT_TEST(testFdo79599, "fdo79599.rtf") #endif +DECLARE_RTFEXPORT_TEST(testFdo82858, "fdo82858.docx") +{ + // This was table::BorderLineStyle::SOLID, exporter failed to write explicit no line when line color was written. + CPPUNIT_ASSERT_EQUAL(table::BorderLineStyle::NONE, getProperty(getShape(1), "TopBorder").LineStyle); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx index 51f9033938c0..1ac0795d8ac9 100644 --- a/sw/source/filter/ww8/rtfattributeoutput.cxx +++ b/sw/source/filter/ww8/rtfattributeoutput.cxx @@ -3042,6 +3042,9 @@ void RtfAttributeOutput::FormatBox(const SvxBoxItem& rBox) sal_Int32 nWidth = sal_Int32(fConverted * 635); // Twips -> EMUs m_aFlyProperties.push_back(std::make_pair("lineWidth", OString::number(nWidth))); } + else + // No border: no line. + m_aFlyProperties.push_back(std::make_pair("fLine", "0")); } return; -- cgit v1.2.3