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, /**/