Bug 54167 - Overflow recovery doesn't play well with changing IPD
Summary: Overflow recovery doesn't play well with changing IPD
Status: RESOLVED FIXED
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: page-master/layout (show other bugs)
Version: all
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-19 12:18 UTC by Vincent Hennebert
Modified: 2012-11-19 16:58 UTC (History)
0 users



Attachments
FO file illustrating the issue (1.13 KB, text/x-xslfo)
2012-11-19 12:18 UTC, Vincent Hennebert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vincent Hennebert 2012-11-19 12:18:24 UTC
Created attachment 29607 [details]
FO file illustrating the issue

The page overflow recovery mechanism consists in pushing the overflowing content to the next page in the hope that it will be bigger and able to accommodate the content.

When the IPD of the next page changes, the page breaking algorithm returns early and AbstractBreaker (doLayout method) splits the content and re-lays out what follows the page break, according to the new IPD.

Those two mechanisms are in conflict when the overflow occurs at the first legal break, leading to no too short node and no feasible break. AbstractBreaker is then asked to split before the content, which it is not designed for.

When the flow IPD changes the overflow mechanism must be disabled, since anyway the line breaking has to be re-done according to the new IPD.
Comment 1 Vincent Hennebert 2012-11-19 16:58:23 UTC
Fixed in rev. 1411306:
http://svn.apache.org/viewvc?rev=1411306&view=rev