patch 9.2.0169: assertion failure in syn_id2attr()

Problem:  assertion failure in syn_id2attr()
          (@julio-b, after v9.2.0093)
Solution: Set tp_curwin to a valid window in popup_close_tabpage()
          and return early in update_winhighlight() if there are
          no highlight overrides to update (Foxe Chen).

fixes:  #19650
closes: #19670

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-15 09:05:14 +00:00
committed by Christian Brabandt
parent b00f441e69
commit a8052afcb6
3 changed files with 11 additions and 0 deletions
+3
View File
@@ -5758,6 +5758,9 @@ update_winhighlight(win_T *wp, char_u *opt)
if (arr == NULL && err != NULL)
return err;
if (arr == NULL && wp->w_hl == NULL)
return NULL;
update_highlight_overrides(wp->w_hl, arr, num);
vim_free(wp->w_hl);
+6
View File
@@ -3283,6 +3283,12 @@ popup_close_tabpage(tabpage_T *tp, int id, int force)
}
back_to_prevwin(wp);
}
// Set curwin for tabpage to a valid window, in case we try
// accessing it later.
if (tp->tp_curwin == wp)
tp->tp_curwin = tp->tp_firstwin;
if (prev == NULL)
*root = wp->w_next;
else
+2
View File
@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
169,
/**/
168,
/**/