summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2012-03-22 14:27:43 +0100
committerCédric Bosdonnat <cedric.bosdonnat.ooo@free.fr>2012-03-22 15:10:50 +0100
commit2a4e77a6f94d35919237b9db9de184e70943fc13 (patch)
tree2ec6251d31fa358fa8dfa960f83e8aaa9235233d /sw
parent1e18fdb2fa0812f91685d9580d48e4d2f8452a26 (diff)
Revert "make text wrapping work in headers/footers too (fdo#39155)"
This reverts commit e2a8fb0427e6b33a0fd3873bb7e077a6e5da8ebb. This is a feature, not a bug and would cause loads of documents to be badly rendered. Link to the spec that brough that feature: http://www.openoffice.org/specs/writer/compatibility/adjust-text-wrapping.sxw Conflicts: sw/source/core/text/txtfly.cxx
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/text/txtfly.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/sw/source/core/text/txtfly.cxx b/sw/source/core/text/txtfly.cxx
index ec6d09a3b8e6..dfe499619b4b 100644
--- a/sw/source/core/text/txtfly.cxx
+++ b/sw/source/core/text/txtfly.cxx
@@ -886,7 +886,14 @@ SwAnchoredObjList* SwTxtFly::InitAnchoredObjList()
const SwSortedObjs *pSorted = pPage->GetSortedObjs();
const sal_uInt32 nCount = pSorted ? pSorted->Count() : 0;
- const sal_Bool bWrapAllowed = !SwLayouter::FrmNotToWrap( *pCurrFrm->GetTxtNode()->getIDocumentLayoutAccess(), *pCurrFrm );
+ // --> #108724# Page header/footer content doesn't have to wrap around
+ // floating screen objects
+ const bool bFooterHeader = 0 != pCurrFrm->FindFooterOrHeader();
+ const IDocumentSettingAccess* pIDSA = pCurrFrm->GetTxtNode()->getIDocumentSettingAccess();
+ // #i40155# - check, if frame is marked not to wrap
+ const sal_Bool bWrapAllowed = ( pIDSA->get(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING) ||
+ ( !pCurrFrm->IsInFtn() && !bFooterHeader ) ) &&
+ !SwLayouter::FrmNotToWrap( *pCurrFrm->GetTxtNode()->getIDocumentLayoutAccess(), *pCurrFrm );
bOn = sal_False;
@@ -898,7 +905,6 @@ SwAnchoredObjList* SwTxtFly::InitAnchoredObjList()
// #i28701# - consider complete frame area for new
// text wrapping
SwRect aRect;
- const IDocumentSettingAccess* pIDSA = pCurrFrm->GetTxtNode()->getIDocumentSettingAccess();
if ( pIDSA->get(IDocumentSettingAccess::USE_FORMER_TEXT_WRAPPING) )
{
aRect = pCurrFrm->Prt();
@@ -914,7 +920,6 @@ SwAnchoredObjList* SwTxtFly::InitAnchoredObjList()
const long nRight = (aRect.*fnRect->fnGetRight)() - 1;
const long nLeft = (aRect.*fnRect->fnGetLeft)() + 1;
const sal_Bool bR2L = pCurrFrm->IsRightToLeft();
- const bool bFooterHeader = ( pCurrFrm->FindFooterOrHeader() != NULL );
const IDocumentDrawModelAccess* pIDDMA = pCurrFrm->GetTxtNode()->getIDocumentDrawModelAccess();