Mercurial > vim
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 |