mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.2.2830: terminal colors are not updated when 'background' is set
Problem: Terminal colors are not updated when 'background' is set. Solution: Call term_update_colors() for all terminals. (Marcin Szamotulski, closes #8171, closes #8150)
This commit is contained in:
@@ -4590,9 +4590,9 @@ create_vterm(term_T *term, int rows, int cols)
|
||||
* Called when 'wincolor' was set.
|
||||
*/
|
||||
void
|
||||
term_update_colors(void)
|
||||
term_update_colors(term_T *term)
|
||||
{
|
||||
term_T *term = curwin->w_buffer->b_term;
|
||||
win_T *wp;
|
||||
|
||||
if (term->tl_vterm == NULL)
|
||||
return;
|
||||
@@ -4602,7 +4602,21 @@ term_update_colors(void)
|
||||
&term->tl_default_color.fg,
|
||||
&term->tl_default_color.bg);
|
||||
|
||||
redraw_later(NOT_VALID);
|
||||
FOR_ALL_WINDOWS(wp)
|
||||
if (wp->w_buffer == term->tl_buffer)
|
||||
redraw_win_later(wp, NOT_VALID);
|
||||
}
|
||||
|
||||
/*
|
||||
* Called when 'background' was set.
|
||||
*/
|
||||
void
|
||||
term_update_colors_all(void)
|
||||
{
|
||||
term_T *tp;
|
||||
|
||||
FOR_ALL_TERMS(tp)
|
||||
term_update_colors(tp);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -5939,7 +5953,7 @@ f_term_list(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
|
||||
l = rettv->vval.v_list;
|
||||
FOR_ALL_TERMS(tp)
|
||||
if (tp != NULL && tp->tl_buffer != NULL)
|
||||
if (tp->tl_buffer != NULL)
|
||||
if (list_append_number(l,
|
||||
(varnumber_T)tp->tl_buffer->b_fnum) == FAIL)
|
||||
return;
|
||||
|
Reference in New Issue
Block a user