diff options
author | Justin Luth <justin.luth@collabora.com> | 2018-11-28 15:44:27 +0300 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-01-17 15:29:22 +0100 |
commit | f70c4fe32136fdab2fc9309b4f40d9a954c56dd8 (patch) | |
tree | c68552325db472957505491edec2dbd184764ace /sw/source | |
parent | 2e0f991f2eb57c0c25f32f759853195f9764a529 (diff) |
tdf#121111 ww8export: fillstyle_NONE needs a nil background
Without this, there is no way to cancel out an inherited
background color.
tdf#116071's unit test depends on this
fix in order to round-trip.
Change-Id: I99ad28ee87a6bea040e0ef3c712c1c911be70004
Reviewed-on: https://gerrit.libreoffice.org/64185
Tested-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Justin Luth <justin_luth@sil.org>
(cherry picked from commit 1a6367269df971dd6764db419162896170b4b21d)
Reviewed-on: https://gerrit.libreoffice.org/66463
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/filter/ww8/ww8atr.cxx | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx index c8a3e0ab1d66..86b2b56f4889 100644 --- a/sw/source/filter/ww8/ww8atr.cxx +++ b/sw/source/filter/ww8/ww8atr.cxx @@ -4217,8 +4217,26 @@ void WW8AttributeOutput::FormatBackground( const SvxBrushItem& rBrush ) } } -void WW8AttributeOutput::FormatFillStyle( const XFillStyleItem& /*rFillStyle*/ ) +void WW8AttributeOutput::FormatFillStyle( const XFillStyleItem& rFillStyle ) { + // WW cannot have background in a section + if ( !m_rWW8Export.m_bOutPageDescs ) + { + // see MSWordExportBase::OutputItemSet for how _SOLID is handled + if ( rFillStyle.GetValue() == drawing::FillStyle_NONE ) + { + //Shd80Nil + m_rWW8Export.InsUInt16( NS_sprm::sprmPShd80 ); + m_rWW8Export.InsUInt16( 0xffff ); + + //cvAuto + m_rWW8Export.InsUInt16( NS_sprm::sprmPShd ); + m_rWW8Export.pO->push_back( 10 ); + m_rWW8Export.InsUInt32( 0xFF000000 ); + m_rWW8Export.InsUInt32( 0xFF000000 ); + m_rWW8Export.InsUInt16( 0x0000 ); + } + } } void WW8AttributeOutput::FormatFillGradient( const XFillGradientItem& /*rFillGradient*/ ) |