summaryrefslogtreecommitdiffstats
path: root/COPYING3
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-07-27 07:49:54 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-11-17 17:05:51 -0800
commitd723ab38d49ba927794b5f5cb2f7fed70e737c56 (patch)
tree69ce21f315e4ccffa276b896438fb84d54582d3c /COPYING3
parent4cd69a7d595307aecbeaf90e4745f3fd55908562 (diff)
downloadcygnal-2.9.0-branch.tar.gz
cygnal-2.9.0-branch.tar.bz2
cygnal-2.9.0-branch.zip
Replace bogus resize-window-to-clear-screen logic.cygnal-2.8.99.97cygnal-2.9.0-branch
This removes (ab)uses of SetConsoleScreenBufferSize which sometimes cause cmd.exe to badly misbehave. It probably doesn't like the closely spaced timing of shrinking the window down to one line followed by a restore of the size. Instead we just output newlines to clear the window. * winsup/cygwin/fhandler.h (dev_console::scroll_window): Member function declaration removed. (dev_console::clear_should_scroll): New member function declared. * winsup/cygwin/fhandler_console.cc (dev_console::scroll_window): Member function removed. (dev_console::clear_should_scroll): New member function. Performs only the test that was performed by scroll_window, not the actual scrolling. The scrolling is now done in the caller in the fhandler_console class. (fhandler_console::clear_screen): Call con.clear_should_scroll instead of con.scroll_window. If this returns false, act as before. Otherwise, clear the screen by scrolling the window. This is done not by making SetConsoleScreenBufferSize calls to shrink and restore the window, but by earnestly emitting a number of carriage returns equal to the vertical screen size and then restoring the cursor position.
Diffstat (limited to 'COPYING3')
0 files changed, 0 insertions, 0 deletions