diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-04-14 10:14:42 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-04-14 10:16:37 +0100 |
commit | bc892b04144d82507ccd59953c9f4da357c2e7b4 (patch) | |
tree | 0e9e64f8398f9e1bfe9fc1a2770e6cb6368f3b17 /sw | |
parent | 97730d49d31c5a7d680122c11640e290170e5f66 (diff) |
Related: tdf#90130 gradient transparency goes missing
Change-Id: I0af8eb24dab7bb9f5831bec68f9a22ba88c2be19
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/odfimport/data/fdo90130-1.odt (renamed from sw/qa/extras/odfimport/data/fdo90130.odt) | bin | 8606 -> 8606 bytes | |||
-rw-r--r-- | sw/qa/extras/odfimport/data/fdo90130-2.odt | bin | 0 -> 9148 bytes | |||
-rw-r--r-- | sw/qa/extras/odfimport/odfimport.cxx | 12 | ||||
-rw-r--r-- | sw/source/core/unocore/unoframe.cxx | 20 |
4 files changed, 23 insertions, 9 deletions
diff --git a/sw/qa/extras/odfimport/data/fdo90130.odt b/sw/qa/extras/odfimport/data/fdo90130-1.odt Binary files differindex 6839b3635b37..6839b3635b37 100644 --- a/sw/qa/extras/odfimport/data/fdo90130.odt +++ b/sw/qa/extras/odfimport/data/fdo90130-1.odt diff --git a/sw/qa/extras/odfimport/data/fdo90130-2.odt b/sw/qa/extras/odfimport/data/fdo90130-2.odt Binary files differnew file mode 100644 index 000000000000..6cf089505e8b --- /dev/null +++ b/sw/qa/extras/odfimport/data/fdo90130-2.odt diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index e2af675de1cc..a8a374246792 100644 --- a/sw/qa/extras/odfimport/odfimport.cxx +++ b/sw/qa/extras/odfimport/odfimport.cxx @@ -559,7 +559,7 @@ DECLARE_ODFIMPORT_TEST(fdo81223, "fdo81223.odt") CPPUNIT_ASSERT_EQUAL(sal_Int32(0xfeffffff), nValue); } -DECLARE_ODFIMPORT_TEST(fdo90130, "fdo90130.odt") +DECLARE_ODFIMPORT_TEST(fdo90130_1, "fdo90130-1.odt") { uno::Reference<text::XTextFramesSupplier> xTextFramesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<container::XIndexAccess> xIndexAccess(xTextFramesSupplier->getTextFrames(), uno::UNO_QUERY); @@ -569,6 +569,16 @@ DECLARE_ODFIMPORT_TEST(fdo90130, "fdo90130.odt") CPPUNIT_ASSERT_EQUAL(sal_Int32(0x00ff3333), nValue); } +DECLARE_ODFIMPORT_TEST(fdo90130_2, "fdo90130-2.odt") +{ + uno::Reference<text::XTextFramesSupplier> xTextFramesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xIndexAccess(xTextFramesSupplier->getTextFrames(), uno::UNO_QUERY); + uno::Reference<beans::XPropertySet> xFrame(xIndexAccess->getByIndex(0), uno::UNO_QUERY); + sal_Int32 nValue(0); + xFrame->getPropertyValue("BackColorTransparency") >>= nValue; + CPPUNIT_ASSERT_EQUAL(sal_Int32(50), nValue); +} + DECLARE_ODFIMPORT_TEST(testBnc800714, "bnc800714.fodt") { // Document's second paragraph wants to be together with the third one, but: diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx index aa658735058c..99ee1d441559 100644 --- a/sw/source/core/unocore/unoframe.cxx +++ b/sw/source/core/unocore/unoframe.cxx @@ -449,20 +449,24 @@ bool BaseFrameProperties_Impl::FillBaseProperties(SfxItemSet& rToSet, const SfxI } } - if(pXFillTransparenceItem) + if (pXFillTransparenceItem) { - const XGradient aNullGrad(RGB_Color(COL_BLACK), RGB_Color(COL_WHITE)); XFillTransparenceItem aXFillTransparenceItem; - aXFillTransparenceItem.PutValue(*pXFillTransparenceItem); rToSet.Put(aXFillTransparenceItem); } - else if (aXFillStyleItem.GetValue() == drawing::FillStyle_SOLID && pColTrans) + else if (pColTrans) { - // Fill style is set to solid, but no fill transparency is given. - // On the other hand, we have a BackColorTransparency, so use that. - aBrush.PutValue(*pColTrans, MID_BACK_COLOR_TRANSPARENCY); - setSvxBrushItemAsFillAttributesToTargetSet(aBrush, rToSet); + // No fill transparency is given. On the other hand, we have a + // BackColorTransparency, so use that. + sal_Int8 nGraphicTransparency(0); + *pColTrans >>= nGraphicTransparency; + rToSet.Put(XFillTransparenceItem(nGraphicTransparency)); + if (aXFillStyleItem.GetValue() == drawing::FillStyle_SOLID) + { + aBrush.PutValue(*pColTrans, MID_BACK_COLOR_TRANSPARENCY); + setSvxBrushItemAsFillAttributesToTargetSet(aBrush, rToSet); + } } if(pXGradientStepCountItem) |