patch 9.2.0119: incorrect highlight initialization in win_init()

Problem:  When initializing a window in win_init(), w_hl is reset to
          NULL without ensuring existing highlight overrides are
          cleared (after v9.2.0113)
Solution: Clear highlight overrides and reset w_hl in win_init(). Remove
          the redundant VIM_CLEAR() from win_init_empty() (Foxe Chen).

closes: #19609

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Foxe Chen
2026-03-07 18:35:39 +00:00
committed by Christian Brabandt
parent d180f67a41
commit 6495ca4c16
2 changed files with 7 additions and 2 deletions
+2
View File
@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
119,
/**/
118,
/**/
+5 -2
View File
@@ -1565,7 +1565,11 @@ win_init(win_T *newp, win_T *oldp, int flags UNUSED)
newp->w_wrow = oldp->w_wrow;
newp->w_fraction = oldp->w_fraction;
newp->w_prev_fraction_row = oldp->w_prev_fraction_row;
newp->w_hl = NULL;
// Not sure if this is needed, but be safe
remove_highlight_overrides(newp->w_hl);
VIM_CLEAR(newp->w_hl);
copy_jumplist(oldp, newp);
#ifdef FEAT_QUICKFIX
if (flags & WSP_NEWLOC)
@@ -2522,7 +2526,6 @@ win_init_empty(win_T *wp)
wp->w_prev_pcmark.lnum = 0;
wp->w_prev_pcmark.col = 0;
wp->w_topline = 1;
VIM_CLEAR(wp->w_hl);
#ifdef FEAT_DIFF
wp->w_topfill = 0;
#endif