summaryrefslogtreecommitdiff
path: root/src/popupwin.c
diff options
context:
space:
mode:
authorBakudankun <bakudankun@gmail.com>2021-11-17 20:40:16 +0000
committerBram Moolenaar <Bram@vim.org>2021-11-17 20:40:16 +0000
commit6555500bcf280716187eea9dba22d4f69bc0a501 (patch)
tree2e1ffb1bba0ada9222c6043e537e436892deb5eb /src/popupwin.c
parente015d99abb4276f47ce97bad1ad5ff0c658b1c8a (diff)
downloadvim-git-6555500bcf280716187eea9dba22d4f69bc0a501.tar.gz
patch 8.2.3614: zindex of popup windows not used when redrawing popup menuv8.2.3614
Problem: zindex of popup windows not used when redrawing popup menu. Solution: Check the zindex when redrawing the popup menu. (closes #9129, closes #9089)
Diffstat (limited to 'src/popupwin.c')
-rw-r--r--src/popupwin.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/popupwin.c b/src/popupwin.c
index 59bdf86b8..2c903bcc4 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -3654,7 +3654,11 @@ may_update_popup_mask(int type)
for (col = wp->w_wincol;
col < wp->w_wincol + width - wp->w_popup_leftoff
&& col < screen_Columns; ++col)
- if (wp->w_popup_mask_cells == NULL
+ if (wp->w_zindex < POPUPMENU_ZINDEX
+ && pum_visible()
+ && pum_under_menu(line, col, FALSE))
+ mask[line * screen_Columns + col] = POPUPMENU_ZINDEX;
+ else if (wp->w_popup_mask_cells == NULL
|| !popup_masked(wp, width, height, col, line))
mask[line * screen_Columns + col] = wp->w_zindex;
}