0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

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.
This commit is contained in:
Bram Moolenaar 2019-09-07 14:06:52 +02:00
parent aad222c9c9
commit bcb4c8f905
4 changed files with 20 additions and 3 deletions

View File

@ -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;

View File

@ -0,0 +1,10 @@
| +0&#ffffff0@74
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|:+0#0000000&> @73

View File

@ -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)

View File

@ -757,6 +757,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1997,
/**/
1996,
/**/