The patch is OK for fltk-2.0.x-r6525 .

Comparing the FLTK2 editor with the FLTK1 editor (fltk-1.3.x-r6592),
I found that deleting certain characters in a line of the FLTK1
editor:

e.g. 'k', 'f', 'i'
or   LATIN (CAPITAL | SMALL) LETTER (O | U) WITH DIAERESIS
or   LATIN (CAPITAL | SMALL) LETTER A WITH GRAVE

does not delete the topmost pixel(s). If I write the german umlaut
characters into the first line, the DIARESIS pixels are invisible.

winfried

> This is a multi-part message in MIME format.
> --------------050206020504070200040803
> Content-Type: text/plain; charset=ISO-8859-15; format=flowed
> Content-Transfer-Encoding: 7bit
>
> w. szukalski wrote:
> > Version: fltk-2.0.x-r6525
> >
> > I can only report, not fix, this.
> >
> > I load a file with overlong lines into the editor.
> >
> > The cursor is to the left of the first character.
> >
> > When I now scroll down, scrolling stops when the
> > bottom line is overlong.
> >
> > When I move the cursor right one position, scrolling
> > down is possible again.
> >
> > When I move the cursor again to the left of the first
> > character and scroll up, scrolling does not stop.
> >
> > This seems to be a scroll-down bug only.
> >
> > The editor of FLTK-1.3 does not have this drawback.
> >
> > The following line:
> >
> >     To subscribe, send mail to <a 
> > href="mailto:[email protected]?body=subscribe";><code>[email protected]</code></a>
> >
> > is wrapped by the editor after the '<a'. But the rest of the line,
> > 101 characters, is overlong and not wrapped.
> >
> > winfried
>
> Please try the appended patch. This is something I found for FLTK 1 some time
> ago. The complete FLTK 1 patch has been committed in svn -r 5194, but this 
> one is
> much shorter, because some of the changes have already been there in FLTK 2.
>
> I tested this patch for FLTK 2 with your long line, and it worked for me.
>
> Please report back, if it fixes your problem.
>
> -----
>
> P.S.: FLTK 2 team, please test this patch. Since I don't work on FLTK 2, I 
> don't
> intend to check this in ...
>
> P.P.S: I found another bug that is _not_ fixed with this patch: If you insert
> (paste) a long text into an empty text editor buffer, and this long text 
> contains
> wrapped lines, and if the last line is _not_ terminated by a LF, then the
> scrollbar shows a small gap at the lower margin. If you move the cursor back 
> to
> the beginning of the text buffer, it stops at line 2 (not 1), and on the text
> console window you see:
>
> TextDisplay::display_insert(): internal consistency check tl1 failed
>
> Albrecht
>
>
> --------------050206020504070200040803
> Content-Type: text/plain;
>  name="TextEditor_fltk2_r6583.diff"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline;
>  filename="TextEditor_fltk2_r6583.diff"
>
> Index: src/TextDisplay.cxx
> ===================================================================
> --- src/TextDisplay.cxx (revision 6583)
> +++ src/TextDisplay.cxx (working copy)
> @@ -861,7 +861,7 @@
>
>    /* FLTK widget shows one line too much (clipped at the bottom), so get 
> last char from line before that */
>    if (visiblelines_cnt_ > 1 && linestarts_[visiblelines_cnt_-2] != -1) {
> -    lastChar = buffer()->line_end(linestarts_[visiblelines_cnt_-2]);
> +    lastChar = line_end(linestarts_[visiblelines_cnt_-2]);
>    }
>
>    hOffset = horiz_offset_;
> @@ -959,7 +959,7 @@
>    if (position_to_line(cursor_pos_, &visLineNum))
>      lineStartPos = linestarts_[visLineNum];
>    else {
> -    lineStartPos = buffer()->line_start(cursor_pos_);
> +    lineStartPos = line_start(cursor_pos_);
>      visLineNum = -1;
>    }
>    if (lineStartPos == 0)
> @@ -973,7 +973,7 @@
>    if (visLineNum != -1 && visLineNum != 0)
>      prevLineStartPos = linestarts_[visLineNum - 1];
>    else
> -    prevLineStartPos = buffer()->rewind_lines(lineStartPos, 1);
> +    prevLineStartPos = rewind_lines(lineStartPos, 1);
>
>    newPos = buffer_->skip_displayed_characters_utf(prevLineStartPos, column);
>
>
> --------------050206020504070200040803--

_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to