https://issues.apache.org/bugzilla/show_bug.cgi?id=48063

--- Comment #12 from Glenn Adams <gad...@apache.org> ---
(In reply to comment #11)
> Created attachment 28911 [details]
> Minimal test case

The problem is occurring in PageBreakingAlgorithm#createFootnotePages

// create pages containing the remaining footnote bodies                        
while (insertedFootnotesLength < totalFootnotesLength) {
    final int tmpLength = lengthList.get(footnoteListIndex);
    // try adding some more content                                             
    if ((tmpLength - insertedFootnotesLength) <= availableBPD) {
        // add a whole footnote                                                 
        availableBPD -= tmpLength - insertedFootnotesLength;
        insertedFootnotesLength = tmpLength;
        footnoteElementIndex
            = getFootnoteList(footnoteListIndex).size() - 1;
    } else {
        ...
    }
}

if tmpLength == insertedFootnotesLength, then the loop doesn't terminate [even
if availableBPD is zero]; clearly this logic is broken, but I don't have enough
familiarity with this code to effect a quick fix without further study

is there another FOP dev that knows this code?

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to