https://issues.apache.org/bugzilla/show_bug.cgi?id=50276
--- Comment #4 from Matthias Reischenbacher <[email protected]> 2010-12-10 07:20:46 EST --- (In reply to comment #3) > (In reply to comment #0) > > Apparently the KnuthElement's position is null (oldElement.getPosition()). I > > attached a patch which adds an additional check in order to avoid the > > exception. This might not be a real solution, because I'm not sure if it's > > valid that the position is null. > > I spent some more time on the validity of a null position. Auxiliary positions > have null subposition, see InlineLayoutManager.getAuxiliaryPosition(), line: > 597. > > If a position is unwrapped often enough, this null position is reached. The > chosen solution, i.e. not unwrapping if the null position is reached, adds a > layer of wrapping around the null position, because later in the method all > positions are wrapped again. Apparently that is not a problem. Simon, thanks for looking into this. I also had a further look at the code and I think there is still a problem when unwrapping and wrapping positions which is causing Bug 49870 [1]. When the InlineLayoutManager adds NonLeafPositions for border-left and border-right it sets the sub positions to null. Unwrapping the position causes the NonLeafPosition to get lost: oldElement.setPosition(oldElement.getPosition().getPosition()); I'm unsure if the problem should be fixed when adding the border NonLeafPositions in the first place or we add an additional check in the applyChanges() method. What do you think? Regards, Matthias Reischenbacher [1] https://issues.apache.org/bugzilla/show_bug.cgi?id=49870 -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
