comparison src/screen.c @ 15521:6d949e552e99 v8.1.0768

patch 8.1.0768: updating completions may cause the popup menu to flicker commit https://github.com/vim/vim/commit/ae654385dfb2ae4c1d70789d1dce3676dba4dfbc Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 17 21:09:05 2019 +0100 patch 8.1.0768: updating completions may cause the popup menu to flicker Problem: Updating completions may cause the popup menu to flicker. Solution: Avoid updating the text below the popup menu before drawing the popup menu.
author Bram Moolenaar <Bram@vim.org>
date Thu, 17 Jan 2019 21:15:06 +0100
parents bc17a9d37810
children dd725a8ab112
comparison
equal deleted inserted replaced
15520:f356d2eb8202 15521:6d949e552e99
181 #endif 181 #endif
182 182
183 /* 183 /*
184 * Redraw the current window later, with update_screen(type). 184 * Redraw the current window later, with update_screen(type).
185 * Set must_redraw only if not already set to a higher value. 185 * Set must_redraw only if not already set to a higher value.
186 * e.g. if must_redraw is CLEAR, type NOT_VALID will do nothing. 186 * E.g. if must_redraw is CLEAR, type NOT_VALID will do nothing.
187 */ 187 */
188 void 188 void
189 redraw_later(int type) 189 redraw_later(int type)
190 { 190 {
191 redraw_win_later(curwin, type); 191 redraw_win_later(curwin, type);
8473 /* Check for illegal values, just in case (could happen just after 8473 /* Check for illegal values, just in case (could happen just after
8474 * resizing). */ 8474 * resizing). */
8475 if (row >= screen_Rows || col >= screen_Columns) 8475 if (row >= screen_Rows || col >= screen_Columns)
8476 return; 8476 return;
8477 8477
8478 #ifdef FEAT_INS_EXPAND
8479 if (pum_under_menu(row, col))
8480 return;
8481 #endif
8478 /* Outputting a character in the last cell on the screen may scroll the 8482 /* Outputting a character in the last cell on the screen may scroll the
8479 * screen up. Only do it when the "xn" termcap property is set, otherwise 8483 * screen up. Only do it when the "xn" termcap property is set, otherwise
8480 * mark the character invalid (update it when scrolled up). */ 8484 * mark the character invalid (update it when scrolled up). */
8481 if (*T_XN == NUL 8485 if (*T_XN == NUL
8482 && row == screen_Rows - 1 && col == screen_Columns - 1 8486 && row == screen_Rows - 1 && col == screen_Columns - 1