[
https://issues.apache.org/jira/browse/FOP-2060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14575267#comment-14575267
]
Andreas L. Delmelle edited comment on FOP-2060 at 6/5/15 9:53 PM:
------------------------------------------------------------------
Actually, I was thinking the very same thing about using that flag in the LC to
pass the information. Since a similar 'difficulty' (related to having to
explicitly having to copy that flag) was also reported in the context of
FOP-2469, what I think definitely needs a closer look, is all the points where
a new LC is created, and make sure they are all aligned. I would expect said
flag to be copied, for example, if you use LC.copyOf(), which appears to be the
case. So, where that method is used to instantiate a child LC, it _should_ be
OK (note: just theory here; haven't checked).
There are two other methods to create LCs, where either no base context is
passed (= newInstance()) or the passed context is largely ignored, save for one
boolean flag (= offspringOf())...
If a full copy would be wasteful or undesirable in some cases, perhaps we
should have a method similar to copyPendingMarksFrom(), for copying the flags
from a base context. Something like that?
EDIT - Looking a bit closer at the usage of newInstance() vs. copyOf() shows 19
vs. 6... Makes one wonder whether it is really required and such a good idea to
disperse all that LC init logic across the different LMs. Definitely needs a
closer look.
was (Author: adelmelle):
Actually, I was thinking the very same thing about using that flag in the LC to
pass the information. Since a similar 'difficulty' (related to having to
explicitly having to copy that flag) was also reported in the context of
FOP-2469, what I think definitely needs a closer look, is all the points where
a new LC is created, and make sure they are all aligned. I would expect said
flag to be copied, for example, if you use LC.copyOf(), which appears to be the
case. So, where that method is used to instantiate a child LC, it _should_ be
OK (note: just theory here; haven't checked).
There are two other methods to create LCs, where either no base context is
passed (= newInstance()) or the passed context is largely ignored, save for one
boolean flag (= offspringOf())...
If a full copy would be wasteful or undesirable in some cases, perhaps we
should have a method similar to copyPendingMarksFrom(), for copying the flags
from a base context. Something like that?
> adjoining blocks with break-before="page" break-after="page" cause extra
> empty page
> -----------------------------------------------------------------------------------
>
> Key: FOP-2060
> URL: https://issues.apache.org/jira/browse/FOP-2060
> Project: FOP
> Issue Type: Bug
> Components: layout/unqualified
> Affects Versions: trunk
> Environment: Operating System: All
> Platform: All
> Reporter: Luis Bernardo
> Fix For: trunk
>
> Attachments: 2060-empty-block-issue.xml, test.fo, test.pdf
>
>
> This causes five pages instead of four:
> <fo:block>
> <fo:block>page 1</fo:block>
> <fo:block break-before="page" break-after="page">page 2</fo:block>
> <fo:block break-before="page" break-after="page">page 3</fo:block>
> <fo:block>page 4</fo:block>
> </fo:block>
> The empty extra page happens between page 2 and page 3.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)