mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.0237: crash when setting 'wincolor' on finished terminal window
Problem: Crash when setting 'wincolor' on finished terminal window. (Bakudankun) Solution: Check that the vterm is not NULL. (Yasuhiro Matsumoto, closes #5607, closes #5610)
This commit is contained in:
@@ -4276,6 +4276,8 @@ term_update_colors(void)
|
|||||||
{
|
{
|
||||||
term_T *term = curwin->w_buffer->b_term;
|
term_T *term = curwin->w_buffer->b_term;
|
||||||
|
|
||||||
|
if (term->tl_vterm == NULL)
|
||||||
|
return;
|
||||||
init_default_colors(term, curwin);
|
init_default_colors(term, curwin);
|
||||||
vterm_state_set_default_colors(
|
vterm_state_set_default_colors(
|
||||||
vterm_obtain_state(term->tl_vterm),
|
vterm_obtain_state(term->tl_vterm),
|
||||||
|
@@ -2370,3 +2370,18 @@ func Test_terminal_in_popup()
|
|||||||
call StopVimInTerminal(buf)
|
call StopVimInTerminal(buf)
|
||||||
call delete('XtermPopup')
|
call delete('XtermPopup')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_issue_5607()
|
||||||
|
let wincount = winnr('$')
|
||||||
|
exe 'terminal' &shell &shellcmdflag 'exit'
|
||||||
|
let job = term_getjob(bufnr())
|
||||||
|
call WaitForAssert({-> assert_equal("dead", job_status(job))})
|
||||||
|
|
||||||
|
let old_wincolor = &wincolor
|
||||||
|
try
|
||||||
|
set wincolor=
|
||||||
|
finally
|
||||||
|
let &wincolor = old_wincolor
|
||||||
|
bw!
|
||||||
|
endtry
|
||||||
|
endfunc
|
||||||
|
@@ -742,6 +742,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 */
|
||||||
|
/**/
|
||||||
|
237,
|
||||||
/**/
|
/**/
|
||||||
236,
|
236,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user