diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-07-27 07:49:54 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-11-17 17:05:51 -0800 |
commit | d723ab38d49ba927794b5f5cb2f7fed70e737c56 (patch) | |
tree | 69ce21f315e4ccffa276b896438fb84d54582d3c /winsup/cygserver/Makefile.in | |
parent | 4cd69a7d595307aecbeaf90e4745f3fd55908562 (diff) | |
download | cygnal-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 'winsup/cygserver/Makefile.in')
0 files changed, 0 insertions, 0 deletions