summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2016-08-05 20:21:13 +0300
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-08-15 06:47:43 +0000
commit2a174c2f6fd58a31eb150b84de83e5ba1c4d3fed (patch)
tree66e621b96d9adc8978c1b704e00389dc63515162 /writerfilter
parentb2465ef049d06b9ee91a6e8cd1e4c4e777d9f436 (diff)
tdf#97090 writerfilter - don't fill_SOLID with auto color
fixes a regression from 24077b2d52ab3d0fd0db5afb25d8b94b62386e3e <w:shd w:val="clear" w:color="auto" w:fill="auto"> seems to be the default "fill disabled" state, so don't force a solid white fill in that case. Change-Id: Ia421e52e228bbf0d3a2cd9af72e0a580042e5dcd Reviewed-on: https://gerrit.libreoffice.org/27915 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/CellColorHandler.cxx9
-rw-r--r--writerfilter/source/dmapper/CellColorHandler.hxx1
2 files changed, 9 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/CellColorHandler.cxx b/writerfilter/source/dmapper/CellColorHandler.cxx
index 6845c8a4d62b..47d329d245fa 100644
--- a/writerfilter/source/dmapper/CellColorHandler.cxx
+++ b/writerfilter/source/dmapper/CellColorHandler.cxx
@@ -37,6 +37,7 @@ LoggedProperties("CellColorHandler"),
m_nShadingPattern( drawing::ShadingPattern::CLEAR ),
m_nColor( 0xffffffff ),
m_nFillColor( 0xffffffff ),
+m_bAutoFillColor( true ),
m_OutputFormat( Form )
{
}
@@ -110,6 +111,9 @@ void CellColorHandler::lcl_attribute(Id rName, Value & rVal)
createGrabBag("fill", uno::makeAny(OUString::fromUtf8(msfilter::util::ConvertColor(nIntValue, /*bAutoColor=*/true))));
if( nIntValue == OOXML_COLOR_AUTO )
nIntValue = 0xffffff; //fill color auto means white
+ else
+ m_bAutoFillColor = false;
+
m_nFillColor = nIntValue;
break;
case NS_ooxml::LN_CT_Shd_color:
@@ -271,7 +275,10 @@ TablePropertyMapPtr CellColorHandler::getProperties()
if (m_OutputFormat == Paragraph)
{
- pPropertyMap->Insert(PROP_FILL_STYLE, uno::makeAny(drawing::FillStyle_SOLID));
+ // If brush style = clear and FillColor = COLOR_AUTO, then don't enable the fill style - just pre-select the default color
+ if (nWW8BrushStyle || !m_bAutoFillColor)
+ pPropertyMap->Insert(PROP_FILL_STYLE, uno::makeAny(drawing::FillStyle_SOLID));
+
pPropertyMap->Insert(PROP_FILL_COLOR, uno::makeAny(nApplyColor));
}
else
diff --git a/writerfilter/source/dmapper/CellColorHandler.hxx b/writerfilter/source/dmapper/CellColorHandler.hxx
index 98fe7916b181..98c8aaf18ddf 100644
--- a/writerfilter/source/dmapper/CellColorHandler.hxx
+++ b/writerfilter/source/dmapper/CellColorHandler.hxx
@@ -37,6 +37,7 @@ private:
sal_Int32 m_nShadingPattern;
sal_Int32 m_nColor;
sal_Int32 m_nFillColor;
+ bool m_bAutoFillColor;
OutputFormat m_OutputFormat;
OUString m_aInteropGrabBagName;