aboutsummaryrefslogtreecommitdiffstats
path: root/src/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java')
-rwxr-xr-xsrc/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
index b10e41132..b449b6689 100755
--- a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
+++ b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
@@ -548,6 +548,14 @@ public class InlineLayoutManager extends InlineStackingLayoutManager {
*/
protected void addKnuthElementsForBorderPaddingStart(List returnList) {
//Border and Padding (start)
+ /**
+ * If the returnlist is a BlockKnuthSequence, the border and padding should be added
+ * to the first paragraph inside it, but it is too late to do that now.
+ * At least, avoid adding it to the bpd sequence.
+ */
+ if (returnList instanceof BlockKnuthSequence) {
+ return;
+ }
CommonBorderPaddingBackground borderAndPadding = fobj.getCommonBorderPaddingBackground();
if (borderAndPadding != null) {
int ipStart = borderAndPadding.getBorderStartWidth(false)
@@ -564,6 +572,14 @@ public class InlineLayoutManager extends InlineStackingLayoutManager {
*/
protected void addKnuthElementsForBorderPaddingEnd(List returnList) {
//Border and Padding (after)
+ /**
+ * If the returnlist is a BlockKnuthSequence, the border and padding should be added
+ * to the last paragraph inside it, but it is too late to do that now.
+ * At least, avoid adding it to the bpd sequence.
+ */
+ if (returnList instanceof BlockKnuthSequence) {
+ return;
+ }
CommonBorderPaddingBackground borderAndPadding = fobj.getCommonBorderPaddingBackground();
if (borderAndPadding != null) {
int ipEnd = borderAndPadding.getBorderEndWidth(false)