https://issues.apache.org/bugzilla/show_bug.cgi?id=47145
--- Comment #6 from Vincent Hennebert <vhenneb...@gmail.com> 2009-05-07 02:38:41 PST --- (In reply to comment #4) > (In reply to comment #3) > > The bug is this second penalty that shouldn't be generated in the first > > place, > > since breaks win over keeps. There may be an opportunity to fix that in the > > same time as bug #46905. > > Agreed. As I remember from another similar issue I fixed recently in > FlowLayoutManager, it could turn out to be a very straightforward fix. I'll > see > if I can confirm later tonight. > At some point in getNextKnuthElements(), the parentLM adds a break in between > the sequences returned by two consecutive childLMs. It's likely to be a simple > matter of : > > if (!ElementListUtils.endsWithForcedBreak(returnedList)) { > //add in-between break > } I think a LayoutManager shouldn't generate a Penalty element for a break-before/after. That's the job of the enclosing LayoutManager, when its addInBetweenBreak method is called. It's there that all the information about break-after on the current childLM, break-before on the next childLM, keep-with-next/with-previous/together can be collected, and a proper Penalty element can (optionally) be generated. I say optionally because no element needs be generated at all if a break-after is set on the last block of a page-sequence, for example. That's what I did in tables (see TableContentLM.getKnuthElementsForRowIterator) and it works pretty well. Vincent -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.