aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java4
-rw-r--r--fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_7.xml4
-rw-r--r--fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_9.xml3
3 files changed, 9 insertions, 2 deletions
diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java
index 4152ee996..fc6e05835 100644
--- a/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java
+++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/PageBreaker.java
@@ -475,7 +475,9 @@ public class PageBreaker extends AbstractBreaker {
//Replace last page
pslm.setCurrentPage(pageProvider.getPage(false, currentPageNum));
} else {
- if (optimalPageCount <= pslm.getCurrentPV().getBodyRegion().getMainReference().getColumnCount()) {
+ if (optimalPageCount > pslm.getCurrentPV().getBodyRegion().getMainReference().getColumnCount()) {
+ setLastPageIndex(currentPageNum + 2);
+ } else {
setLastPageIndex(currentPageNum + 1);
}
//Last page-master cannot hold the content.
diff --git a/fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_7.xml b/fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_7.xml
index c3365fd8e..ca07447b9 100644
--- a/fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_7.xml
+++ b/fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_7.xml
@@ -1457,5 +1457,9 @@
<eval expected="(2)" xpath="//pageViewport[2]//word"/>
<eval expected="(Enter" xpath="//pageViewport[3]//word"/>
<eval expected="Loss" xpath="//pageViewport[4]//word"/>
+ <eval expected="PageFirst" xpath="//pageViewport[1]/@simple-page-master-name"/>
+ <eval expected="PageRestEven" xpath="//pageViewport[2]/@simple-page-master-name"/>
+ <eval expected="PageRestOdd" xpath="//pageViewport[3]/@simple-page-master-name"/>
+ <eval expected="PageLastEven" xpath="//pageViewport[4]/@simple-page-master-name"/>
</checks>
</testcase>
diff --git a/fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_9.xml b/fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_9.xml
index 9484e4d74..aa4ab9f56 100644
--- a/fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_9.xml
+++ b/fop/test/layoutengine/standard-testcases/page-sequence_two-column_last-page_9.xml
@@ -1173,7 +1173,7 @@
</fo:root>
</fo>
<checks>
- <eval expected="4" xpath="count(//pageViewport)"/>
+ <eval expected="5" xpath="count(//pageViewport)"/>
<eval expected="A." xpath="//pageViewport[1]//word"/>
<eval expected="c." xpath="//pageViewport[2]//word"/>
<eval expected="(a)" xpath="//pageViewport[3]//word"/>
@@ -1182,5 +1182,6 @@
<eval expected="PageRestEven" xpath="//pageViewport[2]/@simple-page-master-name"/>
<eval expected="PageRestOdd" xpath="//pageViewport[3]/@simple-page-master-name"/>
<eval expected="PageRestEven" xpath="//pageViewport[4]/@simple-page-master-name"/>
+ <eval expected="PageLastOdd" xpath="//pageViewport[5]/@simple-page-master-name"/>
</checks>
</testcase>