Mercurial > vim
changeset 18002:2fdbcecab216 v8.1.1997
patch 8.1.1997: no redraw after a popup window filter is invoked
Commit: https://github.com/vim/vim/commit/bcb4c8f9058c17dead61a0a384cb1e09c5fc459b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Sep 7 14:06:52 2019 +0200
patch 8.1.1997: no redraw after a popup window filter is invoked
Problem: No redraw after a popup window filter is invoked.
Solution: Redraw if needed.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 07 Sep 2019 14:15:04 +0200 |
parents | 1edd747222f0 |
children | f4e09b355181 |
files | src/popupwin.c src/testdir/dumps/Test_popupwin_menu_filter_5.dump src/testdir/test_popupwin.vim src/version.c |
diffstat | 4 files changed, 20 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/popupwin.c +++ b/src/popupwin.c @@ -2802,6 +2802,8 @@ popup_do_filter(int c) && (wp->w_filter_mode & state) != 0) res = invoke_popup_filter(wp, c); + if (must_redraw) + redraw_after_callback(FALSE); recursive = FALSE; KeyTyped = save_KeyTyped; return res;
new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_popupwin_menu_filter_5.dump @@ -0,0 +1,10 @@ +| +0&#ffffff0@74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|:+0#0000000&> @73
--- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -2159,9 +2159,9 @@ func Test_popup_menu_filter() call win_execute(a:winid, "call setpos('.', [0, line('.') - 1, 1, 0])") return 1 endif - if a:key == 'x' + if a:key == ':' call popup_close(a:winid) - return 1 + return 0 endif return 0 endfunction @@ -2185,7 +2185,10 @@ func Test_popup_menu_filter() call term_sendkeys(buf, "0") call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_4', {}) - call term_sendkeys(buf, "x") + " check that when the popup is closed in the filter the screen is redrawn + call term_sendkeys(buf, ":") + call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_5', {}) + call term_sendkeys(buf, "\<CR>") " clean up call StopVimInTerminal(buf)