Mercurial > vim
diff src/popupmnu.c @ 16986:03f3a9ca2770 v8.1.1493
patch 8.1.1493: redrawing with popups is slow and causes flicker
commit https://github.com/vim/vim/commit/33796b39b9f00b42ca57fa00dbbb52316d9d38ff
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 8 16:01:13 2019 +0200
patch 8.1.1493: redrawing with popups is slow and causes flicker
Problem: Redrawing with popups is slow and causes flicker.
Solution: Avoid clearing and redrawing using a zindex mask.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 08 Jun 2019 16:15:04 +0200 |
parents | d4c50bca8dbc |
children | 10e0d7d96cb0 |
line wrap: on
line diff
--- a/src/popupmnu.c +++ b/src/popupmnu.c @@ -431,6 +431,12 @@ pum_redraw(void) / (pum_size - pum_height); } +#ifdef FEAT_TEXT_PROP + // The popup menu is drawn over popup menus with zindex under + // POPUPMENU_ZINDEX. + screen_zindex = POPUPMENU_ZINDEX; +#endif + for (i = 0; i < pum_height; ++i) { idx = i + pum_first; @@ -611,6 +617,10 @@ pum_redraw(void) ++row; } + +#ifdef FEAT_TEXT_PROP + screen_zindex = 0; +#endif } /*