trichview.com

trichview.support




Tab key press causes text to be redrawn and scrolled, resulting in jumpy  behavior


Return to index


Author

Message

Stephen

Posted: 11/11/2004 15:18:58


Using version 1.9.0.4, if I have an RVF file that is longer than the screen

height, and I position the cursor on a line such that several lines at the top

of the file are "off screen" (i.e. I have scrolled down a bit), and also such

that the bottom lines of the file are also "off screen" and I press the TAB

key, then the document is redrawn, and a scroll has taken place such that the

line on which the cursor is, has been positioned to be the last visible line in

the pane. All I wanted was to insert a Tab character. What I got was the Tab

character inserted but also scrolling and redrawing.


I tracked this down to the RVERVData unit and the TRVEditRVData.InsSomething

method. The problem is that the FR variable can be uninitialized before its

value is used:


if info.GetBoolValue(rvbpFullWidth) then begin

    if InsertPoint<>Items.Count then begin

       Do_NewLine(InsertPoint, False, -1, FR);

       FullReformat := FullReformat or FR;

       Do_BR(InsertPoint, False, FR);

       FullReformat := FullReformat or FR;

    end;

    if info.StyleNo=rvsBreak then

      info.ParaNo := 0;

  end;

  FullReformat := FullReformat or FR;


Only when the first two "if" statements are passed will FR be initialized.

I believe it is necessary to insert the following line above the statements

shown:


FR := False;


This cured the problem for me.


Regards,

Stephen





Powered by ABC Amber Outlook Express Converter