From: Foxe Chen Date: Sun, 15 Mar 2026 09:05:14 +0000 (+0000) Subject: patch 9.2.0169: assertion failure in syn_id2attr() X-Git-Tag: v9.2.0169^0 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a8052afcb665f7045fc8be72a731f48c016852c0;p=thirdparty%2Fvim.git 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 Signed-off-by: Christian Brabandt --- diff --git a/src/highlight.c b/src/highlight.c index b768787eec..9e9830bd7d 100644 --- a/src/highlight.c +++ b/src/highlight.c @@ -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); diff --git a/src/popupwin.c b/src/popupwin.c index 63f9fe3f3b..23588c7ca4 100644 --- a/src/popupwin.c +++ b/src/popupwin.c @@ -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 diff --git a/src/version.c b/src/version.c index 6fa0448dc0..4f9c944a62 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 169, /**/ 168, /**/