diff options
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/layout/ssfrm.cxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sw/source/core/layout/ssfrm.cxx b/sw/source/core/layout/ssfrm.cxx index 2a4fd7421347..fa2e5673ea49 100644 --- a/sw/source/core/layout/ssfrm.cxx +++ b/sw/source/core/layout/ssfrm.cxx @@ -562,6 +562,7 @@ const SwRect SwFrame::PaintArea() const SwRectFn fnRect = bVert ? ( IsVertLR() ? fnRectVertL2R : fnRectVert ) : fnRectHori; long nRight = (aRect.*fnRect->fnGetRight)(); long nLeft = (aRect.*fnRect->fnGetLeft)(); + long nBottom = (aRect.*fnRect->fnGetBottom)(); const SwFrame* pTmp = this; bool bLeft = true; bool bRight = true; @@ -573,6 +574,7 @@ const SwRect SwFrame::PaintArea() const nRowSpan = static_cast<const SwCellFrame*>(pTmp)->GetTabBox()->getRowSpan(); long nTmpRight = (pTmp->Frame().*fnRect->fnGetRight)(); long nTmpLeft = (pTmp->Frame().*fnRect->fnGetLeft)(); + long nTmpBottom = (pTmp->Frame().*fnRect->fnGetBottom)(); if( pTmp->IsRowFrame() && nRowSpan > 1 ) { const SwFrame* pNxt = pTmp; @@ -588,6 +590,8 @@ const SwRect SwFrame::PaintArea() const pTmp->IsCellFrame() || pTmp->IsRowFrame() || //nobody leaves a table! pTmp->IsRootFrame() ) { + if( nTmpBottom < nBottom ) + nBottom = nTmpBottom; if( bLeft || nLeft < nTmpLeft ) nLeft = nTmpLeft; if( bRight || nTmpRight < nRight ) @@ -640,6 +644,7 @@ const SwRect SwFrame::PaintArea() const } (aRect.*fnRect->fnSetLeft)( nLeft ); (aRect.*fnRect->fnSetRight)( nRight ); + (aRect.*fnRect->fnSetBottom)( nBottom ); return aRect; } |