diff options
author | Michael Stahl <mstahl@redhat.com> | 2016-10-05 23:09:25 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-10-06 14:46:23 +0000 |
commit | 63ba0dc9e12169e9a929231a01172c85fab2f628 (patch) | |
tree | 02e910a04eb97af16fff87781917b72e753aeb4f | |
parent | 052f98d0b1a6b0607069f0a50d4e03fcd4a1d52a (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.
(cherry picked from commit f933da55797566cf725e35ab0df17e91c7d5598f)
Change-Id: I0af13168970f26355a1b247e071235166d08b7a4
Reviewed-on: https://gerrit.libreoffice.org/29558
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | sw/qa/extras/odfimport/data/tdf103025.odt | bin | 0 -> 5694 bytes | |||
-rw-r--r-- | sw/qa/extras/odfimport/odfimport.cxx | 9 | ||||
-rw-r--r-- | sw/source/core/layout/pagechg.cxx | 16 |
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 Binary files differnew file mode 100644 index 000000000000..bd1e57314d88 --- /dev/null +++ b/sw/qa/extras/odfimport/data/tdf103025.odt diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index c944d443eeef..908d17d2fd13 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(testTdf96113, "tdf96113.odt") { // Background of the formula frame was white (0xffffff), not green. diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index 1c9e8033c8f1..90a595baf828 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -465,22 +465,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() & (FRM_HEADER|FRM_FOOTER) ) - { - SwContentFrame *pContent = pLow->ContainsContent(); - while ( pContent && pLow->IsAnLower( pContent ) ) - { - pContent->OptCalc(); // not the predecessors - pContent = pContent->GetNextContentFrame(); - } - } - pLow = static_cast<SwLayoutFrame*>(pLow->GetNext()); - } } } |