vim.exe の画面リストアで正しくリストア出来ていない事がある #972

Closed
mattn opened this Issue Oct 18, 2016 · 3 comments

Projects

None yet

3 participants

@mattn
Member
mattn commented Oct 18, 2016

関連 #732

winpty で cmd を終了させた後

あと vscode の端末拡張でも同じ現象が出ます。

vscode で vim.exe を起動し終了した直後

diff --git a/src/os_win32.c b/src/os_win32.c
index d52beb8..8e4eb74 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -2115,7 +2116,7 @@ SaveConsoleBuffer(
     */
    ReadRegion.Top = Y;
    ReadRegion.Bottom = Y + Y_incr - 1;
-   if (!ReadConsoleOutput(g_hConOut,   /* output handle */
+   if (!ReadConsoleOutputW(g_hConOut,  /* output handle */
        cb->Buffer,         /* our buffer */
        cb->BufferSize,         /* dimensions of our buffer */
        BufferCoord,            /* offset in our buffer */
@@ -2188,7 +2189,7 @@ RestoreConsoleBuffer(
    WriteRegion.Top = 0;
    WriteRegion.Right = cb->Info.dwSize.X - 1;
    WriteRegion.Bottom = cb->Info.dwSize.Y - 1;
-   if (!WriteConsoleOutput(g_hConOut,  /* output handle */
+   if (!WriteConsoleOutputW(g_hConOut, /* output handle */
        cb->Buffer,         /* our buffer */
        cb->BufferSize,         /* dimensions of our buffer */
        BufferCoord,            /* offset in our buffer */

こうすると直る様なのですが、どうでしょうか? cc @k-takata

@k-takata
Member

#785 で直るならそっちの方が良いと思いますがどうですか?

@mattn
Member
mattn commented Oct 18, 2016

あ、todo のまま止まってたのですね。そっちがいいと思います。

@mattn mattn closed this Oct 18, 2016
@k-takata
Member

再度Bramをつついてもらってもよろしいかとw

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment