0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.3681: cannot drag popup window after click on a status line

Problem:    Cannot drag popup window after click on a status line. (Sergey
            Vlasov)
Solution:   Reset on_status_line. (closes #9221)
This commit is contained in:
Bram Moolenaar
2021-11-26 15:57:40 +00:00
parent d1d8a595bd
commit bfc5786a61
4 changed files with 24 additions and 0 deletions

View File

@@ -1630,6 +1630,7 @@ retnomove:
if (WIN_IS_POPUP(wp)) if (WIN_IS_POPUP(wp))
{ {
on_sep_line = 0; on_sep_line = 0;
on_status_line = 0;
in_popup_win = TRUE; in_popup_win = TRUE;
if (which_button == MOUSE_LEFT && popup_close_if_on_X(wp, row, col)) if (which_button == MOUSE_LEFT && popup_close_if_on_X(wp, row, col))
{ {

View File

@@ -0,0 +1,10 @@
>1+0&#ffffff0| @35||+1&&|1+0&&| @35
|2| @15|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@7||+1&&|2+0&&| @35
|3| @15|║+0#0000001#ffd7ff255|1@3| @5|║| +0#0000000#ffffff0@7||+1&&|3+0&&| @35
|4| @15|║+0#0000001#ffd7ff255|2@5| @3|║| +0#0000000#ffffff0@7||+1&&|4+0&&| @35
|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @3|║+0#0000001#ffd7ff255|3@4| @4|║| +3#0000000#ffffff0@4|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
|1+0&&| @15|║+0#0000001#ffd7ff255| +0#4040ff13&@9|║+0#0000001&| +0#0000000#ffffff0@7||+1&&|1+0&&| @35
|2| @15|╚+0#0000001#ffd7ff255|═@9|⇲| +0#0000000#ffffff0@7||+1&&|2+0&&| @35
|3| @35||+1&&|3+0&&| @35
|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
|:+0&&|c|a|l@1| |C|l|i|c|k|A|n|d|D|r|a|g|(|)| @54

View File

@@ -574,6 +574,13 @@ func Test_popup_drag()
endfunc endfunc
map <silent> <F5> :call test_setmouse(6, 21)<CR> map <silent> <F5> :call test_setmouse(6, 21)<CR>
map <silent> <F6> :call test_setmouse(7, 25)<CR> map <silent> <F6> :call test_setmouse(7, 25)<CR>
func ClickAndDrag()
call feedkeys("\<F7>\<LeftMouse>\<LeftRelease>", "xt")
call feedkeys("\<F8>\<LeftMouse>\<F9>\<LeftDrag>\<LeftRelease>", "xt")
endfunc
map <silent> <F7> :call test_setmouse(5, 2)<CR>
map <silent> <F8> :call test_setmouse(3, 14)<CR>
map <silent> <F9> :call test_setmouse(3, 18)<CR>
END END
call writefile(lines, 'XtestPopupDrag') call writefile(lines, 'XtestPopupDrag')
let buf = RunVimInTerminal('-S XtestPopupDrag', #{rows: 10}) let buf = RunVimInTerminal('-S XtestPopupDrag', #{rows: 10})
@@ -585,6 +592,10 @@ func Test_popup_drag()
call term_sendkeys(buf, ":call Resize()\<CR>") call term_sendkeys(buf, ":call Resize()\<CR>")
call VerifyScreenDump(buf, 'Test_popupwin_drag_03', {}) call VerifyScreenDump(buf, 'Test_popupwin_drag_03', {})
" dragging works after click on a status line
call term_sendkeys(buf, ":call ClickAndDrag()\<CR>")
call VerifyScreenDump(buf, 'Test_popupwin_drag_04', {})
" clean up " clean up
call StopVimInTerminal(buf) call StopVimInTerminal(buf)
call delete('XtestPopupDrag') call delete('XtestPopupDrag')

View File

@@ -757,6 +757,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 */
/**/
3681,
/**/ /**/
3680, 3680,
/**/ /**/