diff options
Diffstat (limited to 'sw/source/core/layout/flowfrm.cxx')
-rw-r--r-- | sw/source/core/layout/flowfrm.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx index 83043c78278f..78b78e61b8e9 100644 --- a/sw/source/core/layout/flowfrm.cxx +++ b/sw/source/core/layout/flowfrm.cxx @@ -2021,14 +2021,19 @@ bool SwFlowFrame::MoveBwd( bool &rbReformat ) const SwLayoutFrame* pUpperFrame = m_rThis.GetUpper(); while ( pUpperFrame ) { - if ( pUpperFrame->IsTabFrame() ) + if ( pUpperFrame->IsTabFrame() || pUpperFrame->IsRowFrame() ) { return false; } // If the text frame is a follow-section-in-table, that can move // backward as well. bool bIsFollowSection = pUpperFrame->IsSctFrame() && static_cast<const SwSectionFrame*>(pUpperFrame)->GetPrecede(); - if ( ( pUpperFrame->IsColumnFrame() && pUpperFrame->IsInSct() ) || bIsFollowSection ) + + // If the text frame is a follow-in-table, that can move + // backward as well. + bool bIsFollow = const_cast<SwLayoutFrame*>(pUpperFrame)->GetPrevCellLeaf(); + + if ( ( pUpperFrame->IsColumnFrame() && pUpperFrame->IsInSct() ) || bIsFollowSection || bIsFollow ) { break; } |