Fop
  1. Fop
  2. FOP-1864

Padding-left ignored inside repeated table header

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Resolution: Fixed
    • Affects Version/s: 1.0
    • Fix Version/s: None
    • Component/s: pdf
    • Labels:
      None
    • Environment:
      Operating System: All
      Platform: PC
    • External issue ID:
      50196

      Description

      There is a problem when using padding-left on a fo:inline element inside a repeating table header. The padding-left value is ignored on the repeated table header on the next page.

      1. testcase.fo
        1 kB
        Matthias Reischenbacher
      2. repeating_table_part.patch
        3 kB
        Matthias Reischenbacher
      3. repeating_table_part_v2.patch
        4 kB
        Matthias Reischenbacher
      4. repeating_table_part_v3.patch
        5 kB
        Matthias Reischenbacher
      5. repeating_table_header_padding_left.patch
        2 kB
        Matthias Reischenbacher
      6. repeating_table_header_padding_left_part2.patch
        0.7 kB
        Matthias Reischenbacher
      7. table-header_table-footer_padding.xml
        7 kB
        darshan
      8. basic-link.xml
        0.7 kB
        Matthias Reischenbacher

        Activity

        Hide
        Matthias Reischenbacher added a comment -

        Attachment testcase.fo has been added with description: Testcase

        Show
        Matthias Reischenbacher added a comment - Attachment testcase.fo has been added with description: Testcase
        Hide
        Matthias Reischenbacher added a comment -

        Attachment repeating_table_part.patch has been added with description: Patch

        Show
        Matthias Reischenbacher added a comment - Attachment repeating_table_part.patch has been added with description: Patch
        Hide
        Matthias Reischenbacher added a comment -

        Patch didn't work when hyphenation was enabled. This is fixed now.

        Show
        Matthias Reischenbacher added a comment - Patch didn't work when hyphenation was enabled. This is fixed now.
        Hide
        Matthias Reischenbacher added a comment -

        Attachment repeating_table_part_v2.patch has been added with description: Patch

        Show
        Matthias Reischenbacher added a comment - Attachment repeating_table_part_v2.patch has been added with description: Patch
        Hide
        Matthias Reischenbacher added a comment -

        Attachment repeating_table_part_v3.patch has been added with description: Patch

        Show
        Matthias Reischenbacher added a comment - Attachment repeating_table_part_v3.patch has been added with description: Patch
        Hide
        Matthias Reischenbacher added a comment -

        Previous patch didn't work when positions were unwrapped and wrapped in InlineStackingLayoutManager and getChangedKnuthElements() of InlineLayoutManager wasn't called.
        Junit layout testcases pass with no errors after applying the patch.

        Show
        Matthias Reischenbacher added a comment - Previous patch didn't work when positions were unwrapped and wrapped in InlineStackingLayoutManager and getChangedKnuthElements() of InlineLayoutManager wasn't called. Junit layout testcases pass with no errors after applying the patch.
        Hide
        Matthias Reischenbacher added a comment -

        Attachment repeating_table_header_padding_left.patch has been added with description: Patch

        Show
        Matthias Reischenbacher added a comment - Attachment repeating_table_header_padding_left.patch has been added with description: Patch
        Hide
        Matthias Reischenbacher added a comment -

        Sorry for adding a patch again... (still learning ) But finally I've come up with a much simpler solution for this issue. Using the isFirst method of InlineLM seems to correctly detect the first position and can therefore be used to reset the areaCreated instance variable.

        Show
        Matthias Reischenbacher added a comment - Sorry for adding a patch again... (still learning ) But finally I've come up with a much simpler solution for this issue. Using the isFirst method of InlineLM seems to correctly detect the first position and can therefore be used to reset the areaCreated instance variable.
        Hide
        Vincent Hennebert added a comment -

        Patch committed in rev. 1079969:
        http://svn.apache.org/viewvc?rev=1079969&view=rev

        You managed to find an elegant solution to this issue. Sorry for the delay, and thanks for your contribution!

        Regards,
        Vincent

        Show
        Vincent Hennebert added a comment - Patch committed in rev. 1079969: http://svn.apache.org/viewvc?rev=1079969&view=rev You managed to find an elegant solution to this issue. Sorry for the delay, and thanks for your contribution! Regards, Vincent
        Hide
        Matthias Reischenbacher added a comment -

        Attachment repeating_table_header_padding_left_part2.patch has been added with description: Patch

        Show
        Matthias Reischenbacher added a comment - Attachment repeating_table_header_padding_left_part2.patch has been added with description: Patch
        Hide
        Matthias Reischenbacher added a comment -

        Vincent,

        thanks for applying the patch (and your encouraging words ).

        Sorry for adding this so late but I had to make a minimal change to my original patch because in some cases the index of the first knuth position was -1 causing isFirst() to throw an exception. I think this has something to do with auxiliary positions used for borders inside nested fo:inline elements but unfortunately I have no test case for reproducing the error. I could be that this change is not necessary anymore due to Simon's refactoring of the whole wrapping/unwrapping part of knuth elements. But just to be on the safe side, I'd recommend to apply this patch too.

        Regards,
        Matthias

        Show
        Matthias Reischenbacher added a comment - Vincent, thanks for applying the patch (and your encouraging words ). Sorry for adding this so late but I had to make a minimal change to my original patch because in some cases the index of the first knuth position was -1 causing isFirst() to throw an exception. I think this has something to do with auxiliary positions used for borders inside nested fo:inline elements but unfortunately I have no test case for reproducing the error. I could be that this change is not necessary anymore due to Simon's refactoring of the whole wrapping/unwrapping part of knuth elements. But just to be on the safe side, I'd recommend to apply this patch too. Regards, Matthias
        Hide
        Vincent Hennebert added a comment -

        (In reply to comment #6)

        Hi Matthias,

        Thanks for letting us know. If you could come up with a test case that would be brilliant. I've tried to reproduce the error on my side and haven't managed.

        Meanwhile, I'll re-open this bug as a reminder.

        Vincent

        Show
        Vincent Hennebert added a comment - (In reply to comment #6) Hi Matthias, Thanks for letting us know. If you could come up with a test case that would be brilliant. I've tried to reproduce the error on my side and haven't managed. Meanwhile, I'll re-open this bug as a reminder. Vincent
        Hide
        darshan added a comment -

        Attachment table-header_table-footer_padding.xml has been added with description: Layout engine testcase for checking inline padding after a page break in table headers and footers

        Show
        darshan added a comment - Attachment table-header_table-footer_padding.xml has been added with description: Layout engine testcase for checking inline padding after a page break in table headers and footers
        Hide
        darshan added a comment -

        Hi Vincent,

        The attachment is a test case for the inline header/footer padding bug.

        Thank you,
        Darshan

        Show
        darshan added a comment - Hi Vincent, The attachment is a test case for the inline header/footer padding bug. Thank you, Darshan
        Hide
        Andreas L. Delmelle added a comment -

        Thanks for the testcase. I checked a pristine version of FOP trunk, with the one additional change in Matthias' last patch, and the full test suite still failed with the message:

        [junit] Testcase: table-header_table-footer_padding.xml(org.apache.fop.layoutengine.LayoutEngineTestSuite$LayoutEngineTestCase): Caused an ERROR
        [junit] Expected XPath expression to evaluate to '20000', but got '' (XPath: /areatree/pageSequence/pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block/block[10]/block/linearea/inlineparent/@padding-start)
        [junit] java.lang.RuntimeException: Expected XPath expression to evaluate to '20000', but got '' (XPath: /areatree/pageSequence/pageViewport[2]/page/regionViewport/regionBody/mainReference/span/flow/block/block[10]/block/linearea/inlineparent/@padding-start)
        [junit] at org.apache.fop.layoutengine.EvalCheck.doCheck(EvalCheck.java:86)
        [junit] at org.apache.fop.layoutengine.EvalCheck.check(EvalCheck.java:60)
        [junit] at org.apache.fop.layoutengine.LayoutEngineTester.doATChecks(LayoutEngineTester.java:226)
        [junit] at org.apache.fop.layoutengine.LayoutEngineTester.checkAll(LayoutEngineTester.java:159)
        [junit] at org.apache.fop.layoutengine.LayoutEngineTester.runTest(LayoutEngineTester.java:141)
        [junit] at org.apache.fop.layoutengine.LayoutEngineTestSuite$LayoutEngineTestCase.runTest(LayoutEngineTestSuite.java:206)

        Do you run your test against FOP trunk or against 1.0?

        Show
        Andreas L. Delmelle added a comment - Thanks for the testcase. I checked a pristine version of FOP trunk, with the one additional change in Matthias' last patch, and the full test suite still failed with the message: [junit] Testcase: table-header_table-footer_padding.xml(org.apache.fop.layoutengine.LayoutEngineTestSuite$LayoutEngineTestCase): Caused an ERROR [junit] Expected XPath expression to evaluate to '20000', but got '' (XPath: /areatree/pageSequence/pageViewport [2] /page/regionViewport/regionBody/mainReference/span/flow/block/block [10] /block/linearea/inlineparent/@padding-start) [junit] java.lang.RuntimeException: Expected XPath expression to evaluate to '20000', but got '' (XPath: /areatree/pageSequence/pageViewport [2] /page/regionViewport/regionBody/mainReference/span/flow/block/block [10] /block/linearea/inlineparent/@padding-start) [junit] at org.apache.fop.layoutengine.EvalCheck.doCheck(EvalCheck.java:86) [junit] at org.apache.fop.layoutengine.EvalCheck.check(EvalCheck.java:60) [junit] at org.apache.fop.layoutengine.LayoutEngineTester.doATChecks(LayoutEngineTester.java:226) [junit] at org.apache.fop.layoutengine.LayoutEngineTester.checkAll(LayoutEngineTester.java:159) [junit] at org.apache.fop.layoutengine.LayoutEngineTester.runTest(LayoutEngineTester.java:141) [junit] at org.apache.fop.layoutengine.LayoutEngineTestSuite$LayoutEngineTestCase.runTest(LayoutEngineTestSuite.java:206) Do you run your test against FOP trunk or against 1.0?
        Hide
        darshan added a comment -

        I ran it against the trunk as the patch has been applied after the release of version 1.0.

        Thank you,
        Darshan

        Show
        darshan added a comment - I ran it against the trunk as the patch has been applied after the release of version 1.0. Thank you, Darshan
        Hide
        Andreas L. Delmelle added a comment -

        (In reply to comment #10)
        > I ran it against the trunk as the patch has been applied after the release of
        > version 1.0.

        Aaaaah... blush
        My mistake. I was still checking the test you sent earlier, instead of the latest one. The most recent one indeed passes.

        However, the reason this bug report was still left open, is that we did not have a test for that latest small patch. Whether I apply that patch or not, the test still passes, so it seems like it is not exactly what we were looking for, unfortunately...

        Show
        Andreas L. Delmelle added a comment - (In reply to comment #10) > I ran it against the trunk as the patch has been applied after the release of > version 1.0. Aaaaah... blush My mistake. I was still checking the test you sent earlier, instead of the latest one. The most recent one indeed passes. However, the reason this bug report was still left open, is that we did not have a test for that latest small patch. Whether I apply that patch or not, the test still passes, so it seems like it is not exactly what we were looking for, unfortunately...
        Hide
        Matthias Reischenbacher added a comment -

        (In reply to comment #11)
        > (In reply to comment #10)
        > > I ran it against the trunk as the patch has been applied after the release of
        > > version 1.0.
        >
        > Aaaaah... blush
        > My mistake. I was still checking the test you sent earlier, instead of the
        > latest one. The most recent one indeed passes.
        >
        > However, the reason this bug report was still left open, is that we did not
        > have a test for that latest small patch. Whether I apply that patch or not, the
        > test still passes, so it seems like it is not exactly what we were looking for,
        > unfortunately...

        In order to reproduce the exception mentioned in comment 6 you have to svn update fop trunk to revision 1052560 and run the additional testcase I'm attaching.
        With revision 1052561 this exception doesn't occur anymore because KnuthElement Positions are not unwrapped and rewrapped anymore (due to hyphenation) and this has the effect that the positions index is never -1 (at least for the positions iterated by InlineLayoutManger).
        Since this error only occurred when hyphenation is active, it's actual a hyphenation test case.

        That's the stack trace of the exception:

        java.lang.IllegalArgumentException: Only non-null Positions with an index can be checked
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:303)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
        at org.apache.fop.cli.Main.startFOP(Main.java:177)
        at org.apache.fop.cli.Main.main(Main.java:208)
        Caused by: java.lang.IllegalArgumentException: Only non-null Positions with an index can be checked
        at org.apache.fop.layoutmgr.AbstractLayoutManager.verifyNonNullPosition(AbstractLayoutManager.java:322)
        at org.apache.fop.layoutmgr.AbstractLayoutManager.isFirst(AbstractLayoutManager.java:334)
        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.addAreas(InlineLayoutManager.java:431)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.addInlineArea(LineLayoutManager.java:1517)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.addAreas(LineLayoutManager.java:1417)
        at org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:389)
        at org.apache.fop.layoutmgr.AreaAdditionUtil.addAreas(AreaAdditionUtil.java:124)
        at org.apache.fop.layoutmgr.FlowLayoutManager.addAreas(FlowLayoutManager.java:351)
        at org.apache.fop.layoutmgr.PageBreaker.addAreas(PageBreaker.java:286)
        at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:675)
        at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:546)
        at org.apache.fop.layoutmgr.PageBreaker.doPhase3(PageBreaker.java:314)
        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:499)
        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:90)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
        at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
        at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:300)
        ... 3 more

        ---------

        java.lang.IllegalArgumentException: Only non-null Positions with an index can be checked
        at org.apache.fop.layoutmgr.AbstractLayoutManager.verifyNonNullPosition(AbstractLayoutManager.java:322)
        at org.apache.fop.layoutmgr.AbstractLayoutManager.isFirst(AbstractLayoutManager.java:334)
        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.addAreas(InlineLayoutManager.java:431)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.addInlineArea(LineLayoutManager.java:1517)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.addAreas(LineLayoutManager.java:1417)
        at org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:389)
        at org.apache.fop.layoutmgr.AreaAdditionUtil.addAreas(AreaAdditionUtil.java:124)
        at org.apache.fop.layoutmgr.FlowLayoutManager.addAreas(FlowLayoutManager.java:351)
        at org.apache.fop.layoutmgr.PageBreaker.addAreas(PageBreaker.java:286)
        at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:675)
        at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:546)
        at org.apache.fop.layoutmgr.PageBreaker.doPhase3(PageBreaker.java:314)
        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:499)
        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:90)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
        at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
        at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:300)
        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
        at org.apache.fop.cli.Main.startFOP(Main.java:177)
        at org.apache.fop.cli.Main.main(Main.java:208)

        Show
        Matthias Reischenbacher added a comment - (In reply to comment #11) > (In reply to comment #10) > > I ran it against the trunk as the patch has been applied after the release of > > version 1.0. > > Aaaaah... blush > My mistake. I was still checking the test you sent earlier, instead of the > latest one. The most recent one indeed passes. > > However, the reason this bug report was still left open, is that we did not > have a test for that latest small patch. Whether I apply that patch or not, the > test still passes, so it seems like it is not exactly what we were looking for, > unfortunately... In order to reproduce the exception mentioned in comment 6 you have to svn update fop trunk to revision 1052560 and run the additional testcase I'm attaching. With revision 1052561 this exception doesn't occur anymore because KnuthElement Positions are not unwrapped and rewrapped anymore (due to hyphenation) and this has the effect that the positions index is never -1 (at least for the positions iterated by InlineLayoutManger). Since this error only occurred when hyphenation is active, it's actual a hyphenation test case. That's the stack trace of the exception: java.lang.IllegalArgumentException: Only non-null Positions with an index can be checked at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:303) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130) at org.apache.fop.cli.Main.startFOP(Main.java:177) at org.apache.fop.cli.Main.main(Main.java:208) Caused by: java.lang.IllegalArgumentException: Only non-null Positions with an index can be checked at org.apache.fop.layoutmgr.AbstractLayoutManager.verifyNonNullPosition(AbstractLayoutManager.java:322) at org.apache.fop.layoutmgr.AbstractLayoutManager.isFirst(AbstractLayoutManager.java:334) at org.apache.fop.layoutmgr.inline.InlineLayoutManager.addAreas(InlineLayoutManager.java:431) at org.apache.fop.layoutmgr.inline.LineLayoutManager.addInlineArea(LineLayoutManager.java:1517) at org.apache.fop.layoutmgr.inline.LineLayoutManager.addAreas(LineLayoutManager.java:1417) at org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:389) at org.apache.fop.layoutmgr.AreaAdditionUtil.addAreas(AreaAdditionUtil.java:124) at org.apache.fop.layoutmgr.FlowLayoutManager.addAreas(FlowLayoutManager.java:351) at org.apache.fop.layoutmgr.PageBreaker.addAreas(PageBreaker.java:286) at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:675) at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:546) at org.apache.fop.layoutmgr.PageBreaker.doPhase3(PageBreaker.java:314) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:499) at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:90) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107) at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238) at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349) at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177) at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:300) ... 3 more --------- java.lang.IllegalArgumentException: Only non-null Positions with an index can be checked at org.apache.fop.layoutmgr.AbstractLayoutManager.verifyNonNullPosition(AbstractLayoutManager.java:322) at org.apache.fop.layoutmgr.AbstractLayoutManager.isFirst(AbstractLayoutManager.java:334) at org.apache.fop.layoutmgr.inline.InlineLayoutManager.addAreas(InlineLayoutManager.java:431) at org.apache.fop.layoutmgr.inline.LineLayoutManager.addInlineArea(LineLayoutManager.java:1517) at org.apache.fop.layoutmgr.inline.LineLayoutManager.addAreas(LineLayoutManager.java:1417) at org.apache.fop.layoutmgr.BlockLayoutManager.addAreas(BlockLayoutManager.java:389) at org.apache.fop.layoutmgr.AreaAdditionUtil.addAreas(AreaAdditionUtil.java:124) at org.apache.fop.layoutmgr.FlowLayoutManager.addAreas(FlowLayoutManager.java:351) at org.apache.fop.layoutmgr.PageBreaker.addAreas(PageBreaker.java:286) at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:675) at org.apache.fop.layoutmgr.AbstractBreaker.addAreas(AbstractBreaker.java:546) at org.apache.fop.layoutmgr.PageBreaker.doPhase3(PageBreaker.java:314) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:499) at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:90) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107) at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238) at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349) at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177) at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:300) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130) at org.apache.fop.cli.Main.startFOP(Main.java:177) at org.apache.fop.cli.Main.main(Main.java:208)
        Hide
        Matthias Reischenbacher added a comment -

        Attachment basic-link.xml has been added with description: Testcase

        Show
        Matthias Reischenbacher added a comment - Attachment basic-link.xml has been added with description: Testcase
        Hide
        Matthias Reischenbacher added a comment -

        Additional test case showing possible IllegalArgumentException prior rev 1052561

        Show
        Matthias Reischenbacher added a comment - Additional test case showing possible IllegalArgumentException prior rev 1052561
        Hide
        Glenn Adams added a comment -

        does the reported problem still exist? if so, is it reproducible? if not, can this bug be moved to resolved?

        Show
        Glenn Adams added a comment - does the reported problem still exist? if so, is it reproducible? if not, can this bug be moved to resolved?
        Hide
        Glenn Adams added a comment -

        see comment 14

        Show
        Glenn Adams added a comment - see comment 14
        Hide
        Matthias Reischenbacher added a comment -

        (In reply to comment #14)
        > does the reported problem still exist? if so, is it reproducible? if not, can
        > this bug be moved to resolved?

        No, it isn't reproducible anymore. Before this issue gets closed, it would be good to add the latest test case I provided:
        https://issues.apache.org/bugzilla/attachment.cgi?id=27087

        Show
        Matthias Reischenbacher added a comment - (In reply to comment #14) > does the reported problem still exist? if so, is it reproducible? if not, can > this bug be moved to resolved? No, it isn't reproducible anymore. Before this issue gets closed, it would be good to add the latest test case I provided: https://issues.apache.org/bugzilla/attachment.cgi?id=27087
        Hide
        Glenn Adams added a comment -

        resetting P2 open bugs to P3 pending further review

        Show
        Glenn Adams added a comment - resetting P2 open bugs to P3 pending further review
        Hide
        Glenn Adams added a comment -

        need to add test case per comment 16

        Show
        Glenn Adams added a comment - need to add test case per comment 16
        Hide
        Glenn Adams added a comment -
        Show
        Glenn Adams added a comment - added additional test case at http://svn.apache.org/viewvc?view=revision&revision=1329865

          People

          • Assignee:
            fop-dev
            Reporter:
            Matthias Reischenbacher
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development