My mistake on the source, however I believe what I said about the TLM is correct. I created tests with constant logging of the object references involved and had the TLM also report how far into its text placement it was getting. The cases for bug #8778 indicated to me that the TLM, under the right conditions, would indeed be repeatedly called and would repeatedly try to add the same area. The condition in the test that causes this is when the TLM cannot place its text on a page and requests a break so it can layout on a fresh page, but the next page doesn't offer any more space. I do have a means of showing this, I believe.
-----Original Message----- From: Keiron Liddle [mailto:keiron@;aftexsw.com] Sent: Wednesday, October 23, 2002 2:46 AM To: FOP Subject: Re: Fix for bug #8778 On Tue, 2002-09-24 at 16:42, Rhett Aultman wrote: > Foppers, > > I've implemented some code in the TextLayoutManager that keeps an eye on the TLM's >lack of progress in laying out its content and that, after 100 repeated attempts with >no progress, gives up the ghost, assuming that, after 100 tries with no progress, >chances are good that it's going to never progress (causing an infinite loop). I've >run this against the tests and it doesn't seem to have any adverse behavior. It also >properly bails out of the testcases for bug #8778. However, since exception throwing >is currently not permitted in the LayoutManager interface, the TLM gives up by >throwing a RuntimeException, which I don't have to specify in a throws clause. > > Before I offer the patch, I thought I'd ask those with more seniority than me- would >a checked exception be preferred? I can make the necessary changes, but it'd change >a LOT more code (since there'd been a need for try/catch blocks and the like all over >the place), and this patch is to fix up an infrequent condition on a branch of code >we're not going to progress down much further. > > Comments? I'm a bit confused, the TextLayoutManager is only in HEAD. It does have a couple of proplems at the moment with wide areas and whitespace handling at the end. However the code should be selecting a correct break only once and there should never be a situation where keeps trying to add the same areas. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
