diff options
-rw-r--r-- | sw/qa/extras/rtfexport/data/tdf88583.odt | bin | 0 -> 8471 bytes | |||
-rw-r--r-- | sw/qa/extras/rtfexport/rtfexport.cxx | 7 | ||||
-rw-r--r-- | sw/source/filter/ww8/rtfexport.cxx | 9 |
3 files changed, 16 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfexport/data/tdf88583.odt b/sw/qa/extras/rtfexport/data/tdf88583.odt Binary files differnew file mode 100644 index 000000000000..307ab1e780d7 --- /dev/null +++ b/sw/qa/extras/rtfexport/data/tdf88583.odt diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx index 2925605bfbba..438cb2d42ede 100644 --- a/sw/qa/extras/rtfexport/rtfexport.cxx +++ b/sw/qa/extras/rtfexport/rtfexport.cxx @@ -852,6 +852,13 @@ DECLARE_RTFEXPORT_TEST(testFdo82006, "fdo82006.rtf") CPPUNIT_ASSERT_EQUAL(sal_Int32(convertTwipToMm100(280)), getProperty<sal_Int32>(getParagraph(0), "ParaBottomMargin")); } +DECLARE_RTFEXPORT_TEST(testTdf88583, "tdf88583.odt") +{ + // This was FillStyle_NONE, as background color was missing from the color table during export. + CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_SOLID, getProperty<drawing::FillStyle>(getParagraph(1), "FillStyle")); + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0x00cc00), getProperty<sal_Int32>(getParagraph(1), "FillColor")); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/ww8/rtfexport.cxx b/sw/source/filter/ww8/rtfexport.cxx index e39b18e01266..ffc60d8849de 100644 --- a/sw/source/filter/ww8/rtfexport.cxx +++ b/sw/source/filter/ww8/rtfexport.cxx @@ -45,6 +45,7 @@ #if OSL_DEBUG_LEVEL > 1 #include <iostream> #endif +#include <svx/xflclit.hxx> using ::editeng::SvxBorderLine; using namespace ::comphelper; @@ -1041,6 +1042,14 @@ void RtfExport::OutColorTable() } } + // TextFrame or paragraph background solid fill. + nMaxItem = rPool.GetItemCount2(XATTR_FILLCOLOR); + for (sal_uInt32 i = 0; i < nMaxItem; ++i) + { + if (const XFillColorItem* pItem = static_cast<const XFillColorItem*>(rPool.GetItem2(XATTR_FILLCOLOR, i))) + InsColor(pItem->GetColorValue()); + } + for (size_t n = 0; n < m_aColTbl.size(); ++n) { const Color& rCol = m_aColTbl[ n ]; |