[Libreoffice-commits] core.git: sw/qa sw/source
Justin Luth (via logerrit)
logerrit at kemper.freedesktop.org
Wed Oct 2 09:40:08 UTC 2019
sw/qa/extras/ooxmlexport/ooxmlexport4.cxx | 4 ++++
sw/qa/extras/ww8export/data/tdf127862_pageFillStyle.odt |binary
sw/qa/extras/ww8export/ww8export3.cxx | 12 +++++++++++-
sw/source/filter/ww8/ww8par.cxx | 8 ++++++--
4 files changed, 21 insertions(+), 3 deletions(-)
New commits:
commit e3c1be1149440fdcfea452aadce0a523af83fe5a
Author: Justin Luth <justin_luth at sil.org>
AuthorDate: Tue Oct 1 10:02:20 2019 +0300
Commit: Michael Stahl <michael.stahl at cib.de>
CommitDate: Wed Oct 2 11:39:04 2019 +0200
tdf#127862 ww8import: page style - import XATTR if defined
...which fixes losing the background color of the page. That was
broken by LO63 commit cc899c6967238877f0094bcf00627145e484ffec
since an obsolete RES_BACKGROUND was not necessarily created.
Change-Id: I944a1b3f3df1468c283f93a49ffacfbd223fb392
Reviewed-on: https://gerrit.libreoffice.org/79912
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth at sil.org>
Reviewed-by: Michael Stahl <michael.stahl at cib.de>
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
index a2b2cf41c6ed..f2ce3fb3fe2a 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
@@ -749,6 +749,10 @@ DECLARE_OOXMLEXPORT_TEST(testTdf38778, "tdf38778_properties_in_run_for_field.doc
// w:fldCharType="end"
assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[7]/w:rPr/w:sz", "val", psz);
assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[7]/w:rPr/w:szCs", "val", pszCs);
+
+ // tdf#127862: page fill color (in this case white) was lost
+ uno::Reference<beans::XPropertySet> xStyle(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY);
+ CPPUNIT_ASSERT(drawing::FillStyle_NONE != getProperty<drawing::FillStyle>(xStyle, "FillStyle"));
}
DECLARE_OOXMLEXPORT_TEST(testFDO76312, "FDO76312.docx")
diff --git a/sw/qa/extras/ww8export/data/tdf127862_pageFillStyle.odt b/sw/qa/extras/ww8export/data/tdf127862_pageFillStyle.odt
new file mode 100644
index 000000000000..c382c9aa6735
Binary files /dev/null and b/sw/qa/extras/ww8export/data/tdf127862_pageFillStyle.odt differ
diff --git a/sw/qa/extras/ww8export/ww8export3.cxx b/sw/qa/extras/ww8export/ww8export3.cxx
index 801e77eff3f5..468021617630 100644
--- a/sw/qa/extras/ww8export/ww8export3.cxx
+++ b/sw/qa/extras/ww8export/ww8export3.cxx
@@ -45,7 +45,11 @@ DECLARE_WW8EXPORT_TEST(testTdf37778_readonlySection, "tdf37778_readonlySection.d
// The problem was that section protection was being enabled in addition to being read-only.
// This created an explicit section with protection. There should be just the default, non-explicit section.
CPPUNIT_ASSERT_EQUAL_MESSAGE("Number of Sections", sal_Int32(0), xSections->getCount());
- }
+
+ // tdf#127862: page fill color (in this case white) was lost
+ uno::Reference<beans::XPropertySet> xStyle(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY);
+ CPPUNIT_ASSERT(drawing::FillStyle_NONE != getProperty<drawing::FillStyle>(xStyle, "FillStyle"));
+}
DECLARE_WW8EXPORT_TEST(testTdf122429_header, "tdf122429_header.doc")
{
@@ -212,6 +216,12 @@ DECLARE_WW8EXPORT_TEST(testTdf123433_fillStyleStop, "tdf123433_fillStyleStop.doc
CPPUNIT_ASSERT_EQUAL(COL_AUTO, Color(getProperty<sal_uInt32>(xText, "ParaBackColor")));
}
+DECLARE_WW8EXPORT_TEST(testTdf127862_pageFillStyle, "tdf127862_pageFillStyle.odt")
+{
+ uno::Reference<beans::XPropertySet> xStyle(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY);
+ CPPUNIT_ASSERT(drawing::FillStyle_NONE != getProperty<drawing::FillStyle>(xStyle, "FillStyle"));
+}
+
DECLARE_WW8EXPORT_TEST(testTdf94009_zeroPgMargin, "tdf94009_zeroPgMargin.odt")
{
uno::Reference<beans::XPropertySet> defaultStyle(getStyles("PageStyles")->getByName("Standard"),
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index a525b2a996d0..ad5f7ef5e3d6 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -4359,10 +4359,14 @@ void wwSectionManager::SetSegmentToPageDesc(const wwSection &rSection,
// Only handle shape if it is a background shape
if (aData.begin()->get()->nFlags & ShapeFlag::Background)
{
- SfxItemSet aSet(rFormat.GetAttrSet());
+ SfxItemSet aSet(rFormat.GetDoc()->GetAttrPool(),
+ svl::Items<RES_BACKGROUND, RES_BACKGROUND,XATTR_START, XATTR_END>{});
mrReader.MatchSdrItemsIntoFlySet(pObject, aSet, mso_lineSimple,
mso_lineSolid, mso_sptRectangle, aRect);
- rFormat.SetFormatAttr(aSet.Get(RES_BACKGROUND));
+ if ( aSet.HasItem(RES_BACKGROUND) )
+ rFormat.SetFormatAttr(aSet.Get(RES_BACKGROUND));
+ else
+ rFormat.SetFormatAttr(aSet);
}
}
SdrObject::Free(pObject);
More information about the Libreoffice-commits
mailing list