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
 }
 
 /*