summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-10-05 23:09:25 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-10-06 14:46:23 +0000
commit63ba0dc9e12169e9a929231a01172c85fab2f628 (patch)
tree02e910a04eb97af16fff87781917b72e753aeb4f
parent052f98d0b1a6b0607069f0a50d4e03fcd4a1d52a (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.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 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());
- }
}
}