mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.1.1499: ruler not updated after popup window was removed
Problem: Ruler not updated after popup window was removed. Solution: use popup_mask in screen_puts().
This commit is contained in:
@@ -7897,7 +7897,11 @@ screen_puts_len(
|
|||||||
|| ScreenAttrs[off] != attr
|
|| ScreenAttrs[off] != attr
|
||||||
|| exmode_active;
|
|| exmode_active;
|
||||||
|
|
||||||
if (need_redraw || force_redraw_this)
|
if ((need_redraw || force_redraw_this)
|
||||||
|
#ifdef FEAT_TEXT_PROP
|
||||||
|
&& popup_mask[row * screen_Columns + col] <= screen_zindex
|
||||||
|
#endif
|
||||||
|
)
|
||||||
{
|
{
|
||||||
#if defined(FEAT_GUI) || defined(UNIX)
|
#if defined(FEAT_GUI) || defined(UNIX)
|
||||||
/* The bold trick makes a single row of pixels appear in the next
|
/* The bold trick makes a single row of pixels appear in the next
|
||||||
|
10
src/testdir/dumps/Test_popupwin_07.dump
Normal file
10
src/testdir/dumps/Test_popupwin_07.dump
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
> +0&#ffffff0@74
|
||||||
|
|~+0#4040ff13&| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @52|o+0#0000001#ffd7ff255|t|h|e|r| |t|a|b| @11
|
||||||
|
|~+0#4040ff13#ffffff0| @52|a+0#0000001#ffd7ff255| |c+0#ff404010&|o|m@1|e|n|t| +0#0000001&|l|i|n|e| @6
|
||||||
|
|:+0#0000000#ffffff0|c|a|l@1| |p|o|p|u|p|_|m|o|v|e|(|p|o|p|u|p|w|i|n|,| |{|'|l|i|n|e|'|:| |7|,| |'|c|o|l|'|:| |5@1|}|)| @3|t+0#0000001#ffd7ff255|h|i|s| |l|i|n|e| |w|i|l@1| |n|o|t| |f|i
|
||||||
|
| +0#0000000#ffffff0@53|t+0#0000001#ffd7ff255| |h|e|r|e| @14
|
10
src/testdir/dumps/Test_popupwin_08.dump
Normal file
10
src/testdir/dumps/Test_popupwin_08.dump
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
>x+0&#ffffff0@2| @71
|
||||||
|
|~+0#4040ff13&| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
|~| @73
|
||||||
|
| +0#0000000&@74
|
||||||
|
@57|1|,|1| @10|A|l@1|
|
@@ -51,6 +51,19 @@ func Test_simple_popup()
|
|||||||
call term_sendkeys(buf, ":redraw\<CR>")
|
call term_sendkeys(buf, ":redraw\<CR>")
|
||||||
call VerifyScreenDump(buf, 'Test_popupwin_06', {})
|
call VerifyScreenDump(buf, 'Test_popupwin_06', {})
|
||||||
|
|
||||||
|
" move popup over ruler
|
||||||
|
call term_sendkeys(buf, ":set cmdheight=2\<CR>")
|
||||||
|
call term_sendkeys(buf, ":call popup_move(popupwin, {'line': 7, 'col': 55})\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_popupwin_07', {})
|
||||||
|
|
||||||
|
" clear all popups after moving the cursor a bit, so that ruler is updated
|
||||||
|
call term_sendkeys(buf, "axxx\<Esc>")
|
||||||
|
call term_wait(buf)
|
||||||
|
call term_sendkeys(buf, "0")
|
||||||
|
call term_wait(buf)
|
||||||
|
call term_sendkeys(buf, ":popupclear\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_popupwin_08', {})
|
||||||
|
|
||||||
" clean up
|
" clean up
|
||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
call delete('XtestPopup')
|
call delete('XtestPopup')
|
||||||
|
@@ -767,6 +767,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1499,
|
||||||
/**/
|
/**/
|
||||||
1498,
|
1498,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user