lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev Nitsy "reset" display buglet


From: Klaus Weide
Subject: Re: lynx-dev Nitsy "reset" display buglet
Date: Fri, 5 Feb 1999 06:20:33 -0600 (CST)

On Fri, 5 Feb 1999, Kim DeVaughn wrote:

> When you activate a forms "reset button", the statusline gets
> completely blanked, until you move off the button.
> 
> A dump of the actual output to the screen, shows that the following
> strings actually get written (sequentially) to the screen:
> 
>  Resetting form...
>  Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
>  __________________________
>  Reset to initial text
>  Reset to initial text
> 
> but when change_form_link() returns to mainloop() after it has set
> *refresh_screen = TRUE, the screen refreshes (which is required to
> reflect the now "reset" textarea to the screen), and is where the
> statusline gets blanked.
> 
> Since the refresher can't know why it was invoked, it can't put up a
> statusline msg, and since the cursor hasn't moved off the reset button,
> there's been no keyboard action that would generate a new statusline
> msg.
> 
> Anyone have a solution to this rather pathological case?

Only some untested ideas:

1) Find an earlier Lynx version where this didn't happen (if such exists),
   and see what has changed...

2) Try this (copied from much earlier in the file)
                    /*
                     *  Make sure curdoc.line will not be equal
                     *  to Newline, so we get a redraw.
                     */
                    curdoc.line = -1;

   after change_form_link() [hmm, which of the two?] has set
   *refresh_screen = TRUE, to get the right kind of refresh
   which doesn't imply a clear() or erase().

3) Try to figure out what's wrong with the logic of the variable
   show_help in mainloop().  I guess it should just be reset in
   the block starting with

        /*
         *  Refresh the screen if necessary.
         */
        if (refresh_screen) {

   similar to what is done in the block preceding that one.


   Klaus

reply via email to

[Prev in Thread] Current Thread [Next in Thread]