Re: [PATCH] Fix for bug #863


Subject: Re: [PATCH] Fix for bug #863
From: Jeremy Teo (nerant@gmx.net)
Date: Fri Apr 20 2001 - 23:04:19 CDT


> Should this also be fixed in warpInsPtNextPrevPage, just above?
Yes. I've included that now in this patch i'm attaching. Missed that, guess lack of sleep.;)

> I don't understand the code you've patched yet so I don't know why your
> patch works. In particular, I don't really know what a FmtMark is.

Here's what i've garnered after some creative use of gdb and reading the code:

1. If a line is blank, ie. contains no characters, a FmtMark is inserted with the attributes that the user specified. eg. Font name, size, bold, etc etc. In other words, it acts as a placeholder for the attributes.

2. When a line is cleared, ie. by DeleteSpan etc, and it is the end of the paragraph (ie. no more characters in the line), FmtMark will be inserted with the attributes of the *last* character deleted to acts as said placeholder.

3. Bug 863 occurs when you move the cursor, then warpInsPtNextPrevPage/Line will remove *any* FmtMark at the present cursor location. Including the one DeleteSpan just inserted so that we can remember our attribute settings.

4. I haven't figured out *why* exactly warpInsPtNextPrevPage/Line needs to clear the FmtMark at the current position other than to clear any FmtMark inserted if the user changes an attribute in the middle of 2 characters:that wouldn't make sense.

5. Hence i've left that behaviour untouched, and hope that by *not* removing the FmtMark at the beginning of a line, that i will not have introduced any other side effects, other than bug #863.

Could someone who is familiar with what i've described give me some feedback? Thanks. =)




This archive was generated by hypermail 2b25 : Fri Apr 20 2001 - 23:04:35 CDT