[newlib-cygwin] Cygwin: console: Fix cursor position restore after screen alternation.

Corinna Vinschen corinna@sourceware.org
Mon Aug 12 15:14:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=d178de278a7a8c73f5c8c8b61def5e13e07ece2c

commit d178de278a7a8c73f5c8c8b61def5e13e07ece2c
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date:   Mon Aug 12 22:48:45 2019 +0900

    Cygwin: console: Fix cursor position restore after screen alternation.
    
    - If screen is alternated on console, cursor position is not restored
      correctly in the case of xterm compatible mode is enabled. For example,
      the shell prompt is shown at incorrect position after using vim.
      This patch fixes this problem.

Diff:
---
 winsup/cygwin/fhandler_console.cc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index b46a4d5..4afb7ef 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -308,6 +308,9 @@ void
 fhandler_console::set_cursor_maybe ()
 {
   con.fillin (get_output_handle ());
+  /* Nothing to do for xterm compatible mode. */
+  if (wincap.has_con_24bit_colors ())
+    return;
   if (con.dwLastCursorPosition.X != con.b.dwCursorPosition.X ||
       con.dwLastCursorPosition.Y != con.b.dwCursorPosition.Y)
     {



More information about the Cygwin-cvs mailing list