forked from aniani/vim
patch 7.4.2212
Problem: Mark " is not set when closing a window in another tab. (Guraga) Solution: Check all tabs for the window to be valid. (based on patch by Hirohito Higashi, closes #974)
This commit is contained in:
24
src/window.c
24
src/window.c
@@ -1358,7 +1358,7 @@ win_init_some(win_T *newp, win_T *oldp)
|
||||
|
||||
#if defined(FEAT_WINDOWS) || defined(PROTO)
|
||||
/*
|
||||
* Check if "win" is a pointer to an existing window.
|
||||
* Check if "win" is a pointer to an existing window in the current tab page.
|
||||
*/
|
||||
int
|
||||
win_valid(win_T *win)
|
||||
@@ -1373,6 +1373,28 @@ win_valid(win_T *win)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if "win" is a pointer to an existing window in any tab page.
|
||||
*/
|
||||
int
|
||||
win_valid_any_tab(win_T *win)
|
||||
{
|
||||
win_T *wp;
|
||||
tabpage_T *tp;
|
||||
|
||||
if (win == NULL)
|
||||
return FALSE;
|
||||
FOR_ALL_TABPAGES(tp)
|
||||
{
|
||||
FOR_ALL_WINDOWS_IN_TAB(tp, wp)
|
||||
{
|
||||
if (wp == win)
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the number of windows.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user