On Mon, 22 Jan 2001, Martin Sevior wrote:

> On Sun, 21 Jan 2001, Jesper Skov wrote:
> 
> > >>>>> "Jesper" == Jesper Skov <[EMAIL PROTECTED]> writes:
> > 
> > Jesper> The problem is that the forced line/page break ends up in the
> > Jesper> document content for some reason:
> > 
> > This is alright after all.
> > 
> > Jesper> So when FV_View::insertParagraphBreak() gets to
> > Jesper> pt_PieceTable::_insertStrux it tries to break a fragment of
> > Jesper> length 3 into two new fragments [as you can see in the above,
> > Jesper> there is no fragment with length 3!]
> > 
> > But this still puzzles me. I'll look closer at it now.
> 
> This might help. Within the piecetable you have
> 
> loc1    loc2     loc3
>  2   <linebeak>  <next char after linebreak>
> 

Whoops! This is wrong. I just reread your original message. I know what's
happening now.

Within the piecetable in the same span you have. 

loc1    loc2          loc3
 1     <linebreak>     2

This is where your 3 character run occurs.

The linebreak is just another unicode character in the piecetable. On
screen the cursor is between the 1 and the linebreak. However
the doc position returned by findPointCoords might be after the linebreak since
it is a zero length run. I guess the bug is triggered by this confusion. 

Cheers!

Martin



Reply via email to