Kaydet (Commit) c0c38e90 authored tarafından Miklos Vajna's avatar Miklos Vajna Kaydeden (comit) Petr Mladek

fdo#42144 WW8 export: avoid writing pointless empty footers

Regression from 13482889 (mismerge, I
guess), when header was enabled, actually empty footer was exported,
even in case footer was disabled.

(cherry picked from commit 4144cd5a)

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

Change-Id: Ied55dc2a9f0faef87689c07935a47db384d37e1a
Reviewed-on: https://gerrit.libreoffice.org/3797Reviewed-by: 's avatarBosdonnat Cedric <cedric.bosdonnat@free.fr>
Tested-by: 's avatarBosdonnat Cedric <cedric.bosdonnat@free.fr>
üst 9411d4d5
...@@ -42,6 +42,7 @@ public: ...@@ -42,6 +42,7 @@ public:
void testFdo45724(); void testFdo45724();
void testFdo46020(); void testFdo46020();
void testFirstHeaderFooter(); void testFirstHeaderFooter();
void testFdo42144();
CPPUNIT_TEST_SUITE(Test); CPPUNIT_TEST_SUITE(Test);
#if !defined(MACOSX) && !defined(WNT) #if !defined(MACOSX) && !defined(WNT)
...@@ -60,6 +61,7 @@ void Test::run() ...@@ -60,6 +61,7 @@ void Test::run()
{"fdo45724.odt", &Test::testFdo45724}, {"fdo45724.odt", &Test::testFdo45724},
{"fdo46020.odt", &Test::testFdo46020}, {"fdo46020.odt", &Test::testFdo46020},
{"first-header-footer.doc", &Test::testFirstHeaderFooter}, {"first-header-footer.doc", &Test::testFirstHeaderFooter},
{"fdo42144.odt", &Test::testFdo42144},
}; };
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i) for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
{ {
...@@ -139,6 +141,13 @@ void Test::testFirstHeaderFooter() ...@@ -139,6 +141,13 @@ void Test::testFirstHeaderFooter()
CPPUNIT_ASSERT_EQUAL(OUString("Even page footer 2"), parseDump("/root/page[6]/footer/txt/text()")); CPPUNIT_ASSERT_EQUAL(OUString("Even page footer 2"), parseDump("/root/page[6]/footer/txt/text()"));
} }
void Test::testFdo42144()
{
// Footer wasn't disabled -- instead empty footer was exported.
uno::Reference<beans::XPropertySet> xStyle(getStyles("PageStyles")->getByName(DEFAULT_STYLE), uno::UNO_QUERY);
CPPUNIT_ASSERT_EQUAL(false, bool(getProperty<sal_Bool>(xStyle, "FooterIsOn")));
}
CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_TEST_SUITE_REGISTRATION(Test);
CPPUNIT_PLUGIN_IMPLEMENT(); CPPUNIT_PLUGIN_IMPLEMENT();
......
...@@ -1182,7 +1182,7 @@ void WW8_WrPlcSepx::OutHeaderFooter( WW8Export& rWrt, bool bHeader, ...@@ -1182,7 +1182,7 @@ void WW8_WrPlcSepx::OutHeaderFooter( WW8Export& rWrt, bool bHeader,
else if ( rWrt.bWrtWW8 ) else if ( rWrt.bWrtWW8 )
{ {
pTxtPos->Append( rCpPos ); pTxtPos->Append( rCpPos );
if (rWrt.bHasHdr && nBreakCode!=0) if ((bHeader? rWrt.bHasHdr : rWrt.bHasFtr) && nBreakCode!=0)
{ {
rWrt.WriteStringAsPara( aEmptyStr ); // Empty paragraph for empty header/footer rWrt.WriteStringAsPara( aEmptyStr ); // Empty paragraph for empty header/footer
rWrt.WriteStringAsPara( aEmptyStr ); // a CR that WW8 needs for end of the stream rWrt.WriteStringAsPara( aEmptyStr ); // a CR that WW8 needs for end of the stream
......
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