[ https://issues.apache.org/jira/browse/FOP-1409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
simon steiner updated FOP-1409: ------------------------------- Summary: PageBreakingAlgorithm IndexOutOfBoundsException (was: IndexOutOfBoundsException) > PageBreakingAlgorithm IndexOutOfBoundsException > ----------------------------------------------- > > Key: FOP-1409 > URL: https://issues.apache.org/jira/browse/FOP-1409 > Project: FOP > Issue Type: Bug > Components: unqualified > Affects Versions: 0.94 > Environment: Operating System: other > Platform: All > Reporter: Hussein Shafie > > This IndexOutOfBoundsException: > =============================================================== > java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 > at java.util.ArrayList.RangeCheck(ArrayList.java:508) > at java.util.ArrayList.get(ArrayList.java:320) > at > org.apache.fop.layoutmgr.PageBreakingAlgorithm.computeDemerits(PageBreakingAlgorithm.java:644) > at > org.apache.fop.layoutmgr.BreakingAlgorithm.considerLegalBreak(BreakingAlgorithm.java:737) > at > org.apache.fop.layoutmgr.PageBreakingAlgorithm.considerLegalBreak(PageBreakingAlgorithm.java:309) > at > org.apache.fop.layoutmgr.BreakingAlgorithm.findBreakingPoints(BreakingAlgorithm.java:485) > at > org.apache.fop.layoutmgr.BreakingAlgorithm.findBreakingPoints(BreakingAlgorithm.java:403) > at > org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:338) > at > org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:263) > at > org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:144) > at > org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:233) > at > org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:145) > at > org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:378) > at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:194) > =============================================================== > Workaround: > In src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java, replace: > =============================================================== > if (footnotesPending) { > if (footnoteListIndex < footnotesList.size() - 1) { > // add demerits for the deferred footnotes > demerits += (footnotesList.size() - 1 - footnoteListIndex) > * deferredFootnoteDemerits; > } > if (footnoteElementIndex > < ((LinkedList) footnotesList.get(footnoteListIndex)).size() - 1) > { > // add demerits for the footnote split between pages > demerits += splitFootnoteDemerits; > } > } > =============================================================== > > by: > =============================================================== > if (footnotesPending) { > int footnotesListSize = footnotesList.size(); > if (footnoteListIndex < footnotesListSize - 1) { > // add demerits for the deferred footnotes > demerits += (footnotesListSize - 1 - footnoteListIndex) > * deferredFootnoteDemerits; > } > if (footnoteListIndex < footnotesListSize && > footnoteElementIndex > < ((LinkedList) footnotesList.get(footnoteListIndex)).size() - 1) > { > // add demerits for the footnote split between pages > demerits += splitFootnoteDemerits; > } > } > =============================================================== -- This message was sent by Atlassian JIRA (v6.3.15#6346)