0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

patch 8.2.2545: errors and crash when terminal window is zero height

Problem:    Errors and crash when terminal window is zero height. (Leonid V.
            Fedorenchik)
Solution:   Do not resize when width or height is zero. (closes #7890)
This commit is contained in:
Bram Moolenaar 2021-02-23 17:47:23 +01:00
parent bc327ccc3d
commit eba13e4ea2
3 changed files with 20 additions and 0 deletions

View File

@ -3800,6 +3800,11 @@ term_update_window(win_T *wp)
newrows = rows == 0 ? newrows : minsize ? MAX(rows, newrows) : rows;
newcols = cols == 0 ? newcols : minsize ? MAX(cols, newcols) : cols;
// If no cell is visible there is no point in resizing. Also, vterm can't
// handle a zero height.
if (newrows == 0 || newcols == 0)
return;
if (term->tl_rows != newrows || term->tl_cols != newcols)
{
term->tl_vterm_size_changed = TRUE;

View File

@ -470,6 +470,19 @@ func Test_terminal_size()
call delete('Xtext')
endfunc
func Test_terminal_zero_height()
split
wincmd j
anoremenu 1.1 WinBar.test :
terminal ++curwin
wincmd k
wincmd _
redraw
call term_sendkeys(bufnr(), "exit\r")
bwipe!
endfunc
func Test_terminal_curwin()
let cmd = Get_cat_123_cmd()
call assert_equal(1, winnr('$'))

View File

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