mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-05-28 00:21:57 +02:00
patch 9.1.2143: wrong rendering of popups when overlapping wide char
Problem: When a popup window partially overlaps a wide character
it results in truncated or garbage display.
Solution: When a wide character is partially blocked by a popup, clear both
cells in the screen buffer to prevent garbage (Yasuhiro Matsumoto).
closes: #19271
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
18dd63808c
commit
6ffe020b91
@@ -1,4 +1,4 @@
|
||||
*version9.txt* For Vim version 9.1. Last change: 2026 Feb 08
|
||||
*version9.txt* For Vim version 9.1. Last change: 2026 Feb 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -52532,4 +52532,14 @@ Patch 9.1.2141
|
||||
Problem: Truncation when serializing libsodium encryption parameters.
|
||||
Solution: Correctly cast to long long type (Yasuhiro Matsumoto).
|
||||
|
||||
Patch 9.1.2142
|
||||
Problem: MS-Windows: mouse scroll events not handled for popups
|
||||
Solution: Do not return early (Mao-Yining)
|
||||
|
||||
Patch 9.1.2143
|
||||
Problem: When a popup window partially overlaps a wide character
|
||||
it results in truncated or garbage display.
|
||||
Solution: When a wide character is partially blocked by a popup, clear both
|
||||
cells in the screen buffer to prevent garbage (Yasuhiro Matsumoto).
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:fdm=manual:nofoldenable
|
||||
|
||||
@@ -586,6 +586,9 @@ screen_line(
|
||||
// Do not redraw if under the popup menu.
|
||||
if (redraw_this && skip_for_popup(row, col + coloff))
|
||||
redraw_this = FALSE;
|
||||
// Also skip the second cell for double-width characters.
|
||||
if (redraw_this && char_cells == 2 && skip_for_popup(row, col + coloff + 1))
|
||||
redraw_this = FALSE;
|
||||
|
||||
if (redraw_this)
|
||||
{
|
||||
|
||||
@@ -734,6 +734,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2143,
|
||||
/**/
|
||||
2142,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user