From: Hirohito Higashi Date: Thu, 6 Aug 2026 19:38:04 +0000 (+0000) Subject: patch 9.2.0919: screen: the wrong array is copied into ScreenCols on a resize X-Git-Tag: v9.2.0919^0 X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=1989e9922a0ac2fddb0085b490bc10cd232ca598;p=thirdparty%2Fvim.git patch 9.2.0919: screen: the wrong array is copied into ScreenCols on a resize Problem: When the screen is resized without clearing, screenalloc() copies ScreenAttrs[] into the new ScreenCols[] instead of using ScreenCols[], so the virtual columns are replaced by attribute values. Since colnr_T is twice the size of sattr_T it also reads twice the intended number of bytes. Solution: Copy from ScreenCols[]. closes: #20961 Co-Authored-By: Claude Opus 5 (1M context) Signed-off-by: Hirohito Higashi Signed-off-by: Christian Brabandt --- diff --git a/src/screen.c b/src/screen.c index 201238c94d..b4cf42ee6d 100644 --- a/src/screen.c +++ b/src/screen.c @@ -3448,7 +3448,7 @@ give_up: ScreenAttrs + LineOffset[old_row], (size_t)len * sizeof(sattr_T)); mch_memmove(new_ScreenCols + new_LineOffset[new_row], - ScreenAttrs + LineOffset[old_row], + ScreenCols + LineOffset[old_row], (size_t)len * sizeof(colnr_T)); } } diff --git a/src/version.c b/src/version.c index 749988b251..a3bf4a35a3 100644 --- a/src/version.c +++ b/src/version.c @@ -763,6 +763,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 919, /**/ 918, /**/