Patch 8.1.1013
Problem: MS-Windows: Scrolling fails when dividing the screen.
Solution: Position the cursor before calling ScrollConsoleScreenBuffer().
(Nobuhiro Takasaki, closes #4115)
Files: src/os_win32.c
*** ../vim-8.1.1012/src/os_win32.c 2019-03-07 06:40:23.950955576 +0100
--- src/os_win32.c 2019-03-17 14:54:32.693363582 +0100
***************
*** 6024,6029 ****
--- 6024,6031 ----
COORD dest;
CHAR_INFO fill;
+ gotoxy(g_srScrollRegion.Left + 1, g_srScrollRegion.Top + 1);
+
dest.X = g_srScrollRegion.Left;
dest.Y = g_coord.Y + cLines;
***************
*** 6037,6053 ****
clip.Right = g_srScrollRegion.Right;
clip.Bottom = g_srScrollRegion.Bottom;
! {
! fill.Char.AsciiChar = ' ';
! if (!USE_VTP)
! fill.Attributes = g_attrCurrent;
! else
! fill.Attributes = g_attrDefault;
! set_console_color_rgb();
- ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill);
- }
// Here we have to deal with a win32 console flake: If the scroll
// region looks like abc and we scroll c to a and fill with d we get
// cbd... if we scroll block c one line at a time to a, we get cdd...
--- 6039,6054 ----
clip.Right = g_srScrollRegion.Right;
clip.Bottom = g_srScrollRegion.Bottom;
! fill.Char.AsciiChar = ' ';
! if (!USE_VTP)
! fill.Attributes = g_attrCurrent;
! else
! fill.Attributes = g_attrDefault;
! set_console_color_rgb();
!
! ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill);
// Here we have to deal with a win32 console flake: If the scroll
// region looks like abc and we scroll c to a and fill with d we get
// cbd... if we scroll block c one line at a time to a, we get cdd...
***************
*** 6081,6086 ****
--- 6082,6089 ----
CHAR_INFO fill;
int nb;
+ gotoxy(g_srScrollRegion.Left + 1, g_srScrollRegion.Top + 1);
+
dest.X = g_srScrollRegion.Left;
dest.Y = g_coord.Y;
***************
*** 6094,6110 ****
clip.Right = g_srScrollRegion.Right;
clip.Bottom = g_srScrollRegion.Bottom;
! {
! fill.Char.AsciiChar = ' ';
! if (!USE_VTP)
! fill.Attributes = g_attrCurrent;
! else
! fill.Attributes = g_attrDefault;
! set_console_color_rgb();
- ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill);
- }
// Here we have to deal with a win32 console flake; See insert_lines()
// above.
--- 6097,6112 ----
clip.Right = g_srScrollRegion.Right;
clip.Bottom = g_srScrollRegion.Bottom;
! fill.Char.AsciiChar = ' ';
! if (!USE_VTP)
! fill.Attributes = g_attrCurrent;
! else
! fill.Attributes = g_attrDefault;
! set_console_color_rgb();
!
! ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill);
// Here we have to deal with a win32 console flake; See insert_lines()
// above.
*** ../vim-8.1.1012/src/version.c 2019-03-17 14:43:28.477344179 +0100
--- src/version.c 2019-03-17 14:53:15.733826579 +0100
***************
*** 781,782 ****
--- 781,784 ----
{ /* Add new patch number below this line */
+ /**/
+ 1013,
/**/
--
hundred-and-one symptoms of being an internet addict:
76. Your ISP regards you as a business partner rather than as a customer.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.