RE: Absent markers throw a ClassCastException in LineLM
> -Original Message- > From: Simon Pepping [mailto:[EMAIL PROTECTED] > On Sun, Nov 14, 2004 at 10:11:01PM +0100, Andreas L. Delmelle wrote: > > > > While running some tests after updating to include > > Luca's latest patch (bugzilla 31206), > > I get a ClassCastException in LineLM.getNextBreakPoss() > > line 409: > > All LMs which are a child of LineLM should implement > InlineLevelLM. LineLM collects all child LMs of a block which generate > inline areas, and indeed, generating inline areas should be synonym > with implementing InlineLevelLM. This presumes that there is a strict > separation between block and inline area generating LMs. > > For RetrieveMarkerLM that separation is not so clear. I think it has > to implement InlineLevelLM, otherwise it cannot act as a child of > LineLM, at the penalty that you noticed. > Thanks for the pointer. It sure is a very interesting puzzle... since in essence it is replaced by the children of the fo:marker, which can be inlines as well as blocks (theoretically even one or more fo:table structures :-/) Greetz, Andreas
Re: Absent markers throw a ClassCastException in LineLM
On Sun, Nov 14, 2004 at 10:11:01PM +0100, Andreas L. Delmelle wrote: > > > Hi, > > (Reporting this here, since for some reason can't connect to > nagoya.apache.org... is it just me or does anyone else have this problem > too?) > > While running some tests after updating to include Luca's latest patch > (bugzilla 31206), I get a ClassCastException in LineLM.getNextBreakPoss() > line 409: > > while((curLM = (InlineLevelLayoutManager) getChildLM()) != null) > > This seems to be due to an fo:retrieve-marker that cannot find a > corresponding fo:marker in the current page, since I get the message > > found no marker with name: {marker-class-name} > > immediately before the Exception is thrown. Before committing Luca's patch I noticed the same problem with BasicLinkLM. There the solution was to make BasicLinkLM extend InlineLM, so that it implements InlineLevelLM. All LMs which are a child of LineLM should implement InlineLevelLM. LineLM collects all child LMs of a block which generate inline areas, and indeed, generating inline areas should be synonym with implementing InlineLevelLM. This presumes that there is a strict separation between block and inline area generating LMs. For RetrieveMarkerLM that separation is not so clear. I think it has to implement InlineLevelLM, otherwise it cannot act as a child of LineLM, at the penalty that you noticed. Regards, Simon -- Simon Pepping home page: http://www.leverkruid.nl
RE: Absent markers throw a ClassCastException in LineLM
Moving this issue to bugzilla. > -Original Message- > From: Andreas L. Delmelle [mailto:[EMAIL PROTECTED] > > (Reporting this here, since for some reason can't connect to > nagoya.apache.org... is it just me or does anyone else have this problem > too?) >