Kaydet (Commit) 09ea045d authored tarafından Miklos Vajna's avatar Miklos Vajna Kaydeden (comit) Andras Timar

tdf#96113 sw: don't overwrite fo:background-color on ODT frame import

The situation is similar to commit
79fb61ef (tdf#92379: svx: don't
overwrite fo:background-color on ODF import, 2015-08-21), except that
here text frames had the problem of loosing colors when transparency is
set.

Fix the problem by informing getSvxBrushItemFromSourceSet() about if
we're in XML import or not.

(cherry picked from commit 3a0c0af7)

Conflicts:
	sw/qa/extras/odfimport/odfimport.cxx

Change-Id: Id1adf60b14a3762f0a2a43c49caeed9f6ea039be
Reviewed-on: https://gerrit.libreoffice.org/20744Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarAndras Timar <andras.timar@collabora.com>
üst fe4c7f20
......@@ -613,6 +613,12 @@ DECLARE_ODFIMPORT_TEST(testTdf92586, "tdf92586.odt")
CPPUNIT_ASSERT_EQUAL(drawing::BitmapMode_STRETCH, getProperty<drawing::BitmapMode>(xPageStyle, "FillBitmapMode"));
}
DECLARE_ODFIMPORT_TEST(testTdf96113, "tdf96113.odt")
{
// Background of the formula frame was white (0xffffff), not green.
CPPUNIT_ASSERT_EQUAL(sal_Int32(0x00ff00), getProperty<sal_Int32>(getShape(1), "BackColor"));
}
#endif
CPPUNIT_PLUGIN_IMPLEMENT();
......
......@@ -1803,7 +1803,7 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno::
if(RES_BACKGROUND == pEntry->nWID)
{
const SwAttrSet& rSet = pFormat->GetAttrSet();
const SvxBrushItem aOriginalBrushItem(getSvxBrushItemFromSourceSet(rSet, RES_BACKGROUND));
const SvxBrushItem aOriginalBrushItem(getSvxBrushItemFromSourceSet(rSet, RES_BACKGROUND, true, pDoc->IsInXMLImport()));
SvxBrushItem aChangedBrushItem(aOriginalBrushItem);
aChangedBrushItem.PutValue(aValue, nMemberId);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment