summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-10-05 23:09:25 +0200
committerMichael Stahl <mstahl@redhat.com>2016-10-05 23:51:08 +0200
commitf933da55797566cf725e35ab0df17e91c7d5598f (patch)
tree84a86dffc19c70b62ea8b973b21f8ccae703d8c1
parent4e48432decd5c04c61bced9db71e866b54370ac3 (diff)
tdf#103025 sw: don't format header/footer in SwPageFrame::PreparePage()
This has always been dead code because it used wrong constants FRMTYPE_HEADER|FRMTYPE_FOOTER which is actually Page|Column and SwPageFrame and SwColumnFrame are not direct children of SwPageFrame. Then commit 901e5c3a21a1299d10c44bc844246fe8c329bb82 fixed the constants but somehow the early formatting of header/footer results in wrong expansion of variable text fields, so just remove this code. Change-Id: I0af13168970f26355a1b247e071235166d08b7a4
-rw-r--r--sw/qa/extras/odfimport/data/tdf103025.odtbin0 -> 5694 bytes
-rw-r--r--sw/qa/extras/odfimport/odfimport.cxx9
-rw-r--r--sw/source/core/layout/pagechg.cxx16
3 files changed, 9 insertions, 16 deletions
diff --git a/sw/qa/extras/odfimport/data/tdf103025.odt b/sw/qa/extras/odfimport/data/tdf103025.odt
new file mode 100644
index 000000000000..bd1e57314d88
--- /dev/null
+++ b/sw/qa/extras/odfimport/data/tdf103025.odt
Binary files differ
diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx
index ceb55723e01a..e8bc1cf41f51 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -631,6 +631,15 @@ DECLARE_ODFIMPORT_TEST(testBnc800714, "bnc800714.fodt")
CPPUNIT_ASSERT(getProperty<bool>(getParagraph(2), "ParaKeepTogether"));
}
+DECLARE_ODFIMPORT_TEST(testTdf103025, "tdf103025.odt")
+{
+ CPPUNIT_ASSERT_EQUAL(OUString("2014-01"), parseDump("/root/page[1]/header/tab[2]/row[2]/cell[3]/txt/Special", "rText"));
+ CPPUNIT_ASSERT_EQUAL(OUString("2014-01"), parseDump("/root/page[2]/header/tab[2]/row[2]/cell[3]/txt/Special", "rText"));
+ CPPUNIT_ASSERT_EQUAL(OUString("2014-02"), parseDump("/root/page[3]/header/tab[2]/row[2]/cell[3]/txt/Special", "rText"));
+ CPPUNIT_ASSERT_EQUAL(OUString("2014-03"), parseDump("/root/page[4]/header/tab[2]/row[2]/cell[3]/txt/Special", "rText"));
+ CPPUNIT_ASSERT_EQUAL(OUString("2014-03"), parseDump("/root/page[5]/header/tab[2]/row[2]/cell[3]/txt/Special", "rText"));
+}
+
DECLARE_ODFIMPORT_TEST(testTdf76322_columnBreakInHeader, "tdf76322_columnBreakInHeader.docx")
{
// column breaks were ignored. First line should start in column 2
diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx
index 50d910bae579..720a541631b8 100644
--- a/sw/source/core/layout/pagechg.cxx
+++ b/sw/source/core/layout/pagechg.cxx
@@ -467,22 +467,6 @@ void SwPageFrame::PreparePage( bool bFootnote )
if ( GetPrev() && static_cast<SwPageFrame*>(GetPrev())->IsEmptyPage() )
lcl_MakeObjs( *pDoc->GetSpzFrameFormats(), static_cast<SwPageFrame*>(GetPrev()) );
lcl_MakeObjs( *pDoc->GetSpzFrameFormats(), this );
-
- // format footer/ header
- SwLayoutFrame *pLow = static_cast<SwLayoutFrame*>(Lower());
- while ( pLow )
- {
- if ( pLow->GetType() & (SwFrameType::Header|SwFrameType::Footer) )
- {
- SwContentFrame *pContent = pLow->ContainsContent();
- while ( pContent && pLow->IsAnLower( pContent ) )
- {
- pContent->OptCalc(); // not the predecessors
- pContent = pContent->GetNextContentFrame();
- }
- }
- pLow = static_cast<SwLayoutFrame*>(pLow->GetNext());
- }
}
}