mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.1748: closing split window in other tab may cause a crash
Problem: Closing split window in other tab may cause a crash. Solution: Set tp_curwin properly. (Rob Pilling, closes #7018)
This commit is contained in:
@@ -2745,6 +2745,7 @@ win_free_mem(
|
||||
{
|
||||
frame_T *frp;
|
||||
win_T *wp;
|
||||
tabpage_T *win_tp = tp == NULL ? curtab : tp;
|
||||
|
||||
// Remove the window and its frame from the tree of frames.
|
||||
frp = win->w_frame;
|
||||
@@ -2752,10 +2753,10 @@ win_free_mem(
|
||||
vim_free(frp);
|
||||
win_free(win, tp);
|
||||
|
||||
// When deleting the current window of another tab page select a new
|
||||
// current window.
|
||||
if (tp != NULL && win == tp->tp_curwin)
|
||||
tp->tp_curwin = wp;
|
||||
// When deleting the current window in the tab, select a new current
|
||||
// window.
|
||||
if (win == win_tp->tp_curwin)
|
||||
win_tp->tp_curwin = wp;
|
||||
|
||||
return wp;
|
||||
}
|
||||
|
Reference in New Issue
Block a user