Kaydet (Commit) 4908d6d6 authored tarafından Miklos Vajna's avatar Miklos Vajna

tdf#108524 sw: allow frames in follow sect-in-tables in SwFlowFrame::MoveBwd()

The intention is to filter out text frames directly inside tables; since
tables in general reflow by moving all of the content to the first page,
then moving not fitting content to the next pages.  Section frames are
different, there we explicitly move content backwards, similarly to page
body frames.

Teach SwFlowFrame::MoveFwd() that a text frame inside a section-in-table
is the section situation, not the table situation, since what matters
here is the direct parent. To be on the safe side allow this for follow
section frames only.

This is necessary, but not enough to address the sub-problem described
in comment 12 of the bug. At least SwFrame::GetPrevSctLeaf() is invoked
to consider a precede section frame, though.

Change-Id: Ic88602cffefbbc81ecc90e3880be2a098f60fb04
üst 9672a929
......@@ -2026,7 +2026,10 @@ bool SwFlowFrame::MoveBwd( bool &rbReformat )
{
return false;
}
if ( pUpperFrame->IsColumnFrame() && pUpperFrame->IsInSct() )
// 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 )
{
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment