On Mon, Jun 16, 2008 at 4:52 PM,  <[EMAIL PROTECTED]> wrote:

> Fixing the PageBreakingAlgorithm, replacing calls to getLineWidth() with 
> getLineWidth(int)
> so  as to take into account each page's real height.
> This fixes the positioning of footnotes when the page bpd is not the same for 
> all pages.

This was a little nasty bug I stumbled upon a few days ago, and it
took me some time to track back where the problem was ...

The PageBreakingAlgorithm, in particular the computeDifference()
method, had some calls to getLineWidth() without parameters and some
other with an int parameter indicating the page.
When the page bpd changes from page to page, the two methods returned
different values, with the effect that the algorithm first believed it
could place a whole footnote in the page, and then found out that this
led to an overflow.

In order to avoid similar problems, the parameter-less getLineWidth()
method could maybe be deprecated?

Regards
    Luca

Reply via email to