]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.2.0016: popup border not redrawn correctly with wide chars v9.2.0016
authorYasuhiro Matsumoto <mattn.jp@gmail.com>
Wed, 18 Feb 2026 17:15:37 +0000 (17:15 +0000)
committerChristian Brabandt <cb@256bit.org>
Wed, 18 Feb 2026 17:19:42 +0000 (17:19 +0000)
commit6c203072fea831ce4ed9d45c69b32444fc9f67ff
tree19168ee1e8502941fa0b86ea21f33f99dab04ff0
parent89712b9f0e8cbf6074cc5dc0465bdd62245ad9c1
patch 9.2.0016: popup border not redrawn correctly with wide chars

Problem:  When a popup window's border overwrites part of a wide
          character from another popup, the remaining half loses its
          original attribute (background color) because it is reset to 0.
Solution: Modify screen_line(), screen_puts_len(), and screen_fill() to
          preserve the existing ScreenAttrs value when clearing wide
          character boundaries. Also ensure background data is refreshed
          for transparent popup cells (Yasuhiro Matsumoto).

closes: #19299

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/screen.c
src/testdir/dumps/Test_popupwin_mask_1.dump
src/testdir/dumps/Test_popupwin_mask_2.dump
src/testdir/dumps/Test_popupwin_mask_3.dump
src/testdir/dumps/Test_popupwin_mask_4.dump
src/testdir/dumps/Test_popupwin_mask_5.dump
src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump
src/version.c